我有一个表单,其中有一个棘手的字段,需要在服务器端通过验证。所以我需要捕获提交,使用此字段发送ajax请求,获取结果,如果结果有效则继续表单提交,否则停止提交并显示消息。
我该怎么做?
我在事件和回调的“大局”中迷失了一点。
这是我到目前为止所拥有的。
$("form").submit(function( event ) {
event.preventDefault();
return check();
});
function check() {
var field = $('#myFiled').val();
if (!field ) {
show.error('Please enter VIN number and try again.');
return false;
}
$.getJSON('MyURL', function(data){
if (!data.valid) show.error('Invalid entry! Please try again.');
})
}
更新
请阅读问题。
如果验证成功,我需要继续常规
表单提交。不通过 AJAX。
最佳答案
$("form").submit(function( event ) {
event.preventDefault();
checkAndSubmit();
});
function checkAndSubmit() {
var field = $('#myFiled').val();
if (!field ) {
show.error('Please enter VIN number and try again.');
}
else {
$.getJSON('MyURL', function(data){
if (!data.valid) {
show.error('Invalid entry! Please try again.');
}
else {
$.post('yourFromPostURL', $('form').serialize(), function(data){
//show something of success or failure.
});
}
})
}
}
关于javascript - jQuery 在使用 ajax 验证后提交表单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23305757/