我需要帮助。我的jQuery代码没有在$_POST数组中返回提交按钮名称…
这是我的代码:
<script type="text/javascript">
$(document).ready(function(){
$('#submForm').validate({
submitHandler: function(form) {
// Do cleanup first
form.submit();
}
})
});
</script>
<input type="submit" class="paypal_bttn" value="premium" name="bttn">
在$_POST数组中,我可以看到除了按钮名称之外的所有内容,我真的需要知道…
请帮助。由于
这很正常。用户没有点击任何按钮。您使用javascript强制提交表单。为什么您期望在根本没有单击按钮的情况下发送按钮名称?如果你有多个提交按钮呢?在这种情况下,您想寄哪一个?如果您的服务器端脚本需要某些按钮名称,您可以在表单中注入一个具有相同名称的隐藏字段,并在强制提交之前设置其值:
$(form).append(
$('<input/>', {
type: 'hidden',
name: 'bttn',
value: 'premium' // TODO: you might want to adjust the value
})
);
form.submit();
您没有提交或验证表单on button click
,因为您已经将代码包装在ready
处理程序中,一旦DOM准备好,您的表单验证然后提交
<input type="submit" class="paypal_bttn" value="premium" name="bttn">
你能做的是
$(document).ready(function(){
$("input[name='bttn']").click(function(e){
e.preventDefault(); //your button type is submit so prevent the default form submission
$('#submForm').validate({
submitHandler: function(form) {
// Do cleanup first
form.submit();
}
})
});
});
当您点击按钮时,jQuery不运行。您需要做的是添加"click(function()"代替。然后,您可以使用attr()或其他项从那里选择您想要的内容。
如果你不想让页面提交,你也应该使用return false;
,如果你想使用AJAX。
$(".paypal_bttn").click(函数(){
//添加要做的事情
});
您可能想要捕获按钮的单击并从那里执行验证/提交。
$('.paypal_bttn').click( function() {
// Do cleanup first
// validate form and submit
}