我的代码是这样的形式submition正在使用jquery表单验证throgh ajax但响应不起作用..
我的ajax代码:
$("#save_form4").validate({
rules: {
name: {
required: true
},
min_salary:{
required: true,
number: true
}
},
messages: {
name: {
required: "Job Title is required."
},
min_salary:{
required: "Min Salary is required.",
number: "Enter Valid Amount."
}
},
// the errorPlacement has to take the table layout into account
errorPlacement: function(error, element) {
if ( element.is(":radio") )
error.insertAfter( element.parent() );
else if ( element.is(":checkbox") )
error.insertAfter( element.next() );
else{
if(element.is("textarea"))
error.insertAfter(element.next());
else
error.insertAfter( element );
}
},
submitHandler: function(form) {
var formVars = $(form).serialize();
$(form).ajaxSubmit({
type: 'POST',
url: '{/literal}{$site_url}vacancies/vacancy_job/{$id}{literal}',
async : false,
data: formVars,
cache: false,
success: function(data)
{ alert('hjkhjh');
$('#job_panel').css('display','none');
$('#job').html(data);
},
error : function(){
alert('error');
}
});
return false;
}
});
这里的ajax响应任何警报都没有工作,但它进入空缺控制器并保存数据....任何人都请帮助我。
答案 0 :(得分:0)
我不是100%肯定,但似乎你没有'通过AJAX但使用标准POST发送数据,以及数据存储在服务器端的原因。
我将您的代码复制到我的表单中,并且数据是通过POST而不是通过AJAX发送的。问题是你使用ajaxSubmit
jQuery Form Plugin
的一部分,可能你还没有将这个文件添加到你的JS文件和html文档中。
但我想这个插件并不是必需的。
当你改变时:
$(form).ajaxSubmit({
进入
$.ajax({
当然你重新加载页面,你应该看到你想要的Javascript警报。我在测试网站上的代码中更改了它,并显示了Javascript警报。