我有一个简单的几个html控件的表单。我想在ajax jquery中将数据保存到mysql。但它没有总结它。我试过的是
$('#myForm').ajaxForm({
beforeSubmit : function() {
var lookup = true;
var validate = false;
$.ajax({
async: false,
url: 'user.php?username='+$('#username').val(),
success: function(data) { }
})
validate = $("#myForm").validate({rules: { price: { number: true, }, size: { number: true, }} , errorClass: 'form_fields_error', errorPlacement: function(error, element) {}}).form() ;
if(lookup && validate ){
return true;
}
else{
return true;
}
},
target: '#showdata',
success: function() { }
});
});
$("#myForm").submit(function()
{
alert('this is not fired');
//e.preventDefault();
var formData = $(this).serialize();
$.ajax(
{
type:'post',
url:'administration/save_users.php',
data:formData,
beforeSend:function()
{
// launchpreloader();
},
complete:function()
{
// stopPreloader();
},
success:function(result)
{
alert(result);
}
});
});
表单提交未被解雇...我错过了什么?我有表格动作=“#”....
答案 0 :(得分:1)
根据您的代码,大概您正在使用jQuery Validate plugin。
validate = $("#myForm").validate({rules: { price: { number: true, }, size: { number: true, }} , errorClass: 'form_fields_error', errorPlacement: function(error, element) {}}).form() ;
您的代码混乱了多个ajax
调用和多余的submit
处理程序。格式不佳的事实并没有帮助我们解开和排除故障。
As per the jQuery Validate documentation,
submitHandler ,回调,默认:默认(原生)表单提交
回复处理表单时的实际提交 已验证。获取表单作为唯一参数。替换默认值 提交。 通过Ajax提交表单的正确位置 验证强>
这意味着您应该将ajax
放在插件的submitHandler
回调函数中。
您...
不需要使用submit
处理程序(这是内置于插件中)
不需要在提交/点击之前/期间测试表单的有效性(这也是内置于插件中)
尝试这样做......
请参阅DEMO:http://jsfiddle.net/zuXYR/
$(document).ready(function () {
$('#myForm').validate({ // initialize the plugin
rules: {
price: {
number: true
},
size: {
number: true
}
},
errorClass: 'form_fields_error',
errorPlacement: function(error, element) {
// return false; // this will suppress errors
error.insertAfter(element); // the default function
},
submitHandler: function (form) {
// your ajax code here
return false; // required when using ajax to prevent a page reload
}
});
});
另外,我不确定为什么你希望你的errorPlacement
回调函数为空。如果要取消错误消息,请使用return false
。否则,如果您想使用默认行为,请完全忽略errorPlacement
回调。