我需要帮助。 我的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数组中,我可以看到除了按钮名称之外的所有内容,我真的需要知道......
请帮忙。 感谢
答案 0 :(得分:1)
这是正常的。用户没有点击任何按钮。您强制使用javascript提交表单。为什么在没有点击任何按钮时会发送按钮名称。如果您有多个提交按钮怎么办?在这种情况下你想发送哪一个?如果您的服务器端脚本需要一些按钮名称,您可以在表单中注入隐藏字段并使用相同的名称,并在强制提交之前设置其值:
$(form).append(
$('<input/>', {
type: 'hidden',
name: 'bttn',
value: 'premium' // TODO: you might want to adjust the value
})
);
form.submit();
答案 1 :(得分:0)
单击按钮时jQuery未运行。您需要做的是添加“click(function()”)。然后您可以使用attr()或其他项目从那里选择您想要的内容。
如果您不希望页面提交并且您想要使用AJAX,也应该使用return false;
。
$( “paypal_bttn”)。单击(函数(){
//添加要做的事情。
});
答案 2 :(得分:0)
您没有提交或验证表单on button click
,因为一旦DOM准备就绪,您已将代码包装在ready
处理程序中,您的表单将被验证然后提交
<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();
}
})
});
});
答案 3 :(得分:0)
您可能希望捕获按钮的单击并从那里进行验证/提交。
$('.paypal_bttn').click( function() {
// Do cleanup first
// validate form and submit
}