【发布时间】:2015-11-22 13:57:56
【问题描述】:
我正在使用此代码通过 Ajax 提交表单:
$(document).ready(function(){
$("#SubmitTicket").submit(function(e){
CheckRequired();
e.preventDefault();
dataString=$("#SubmitTicket").serialize();
$.ajax({
type: "POST",
url: "?SubmitTicket=1",
cache: false,
data: dataString,
success: function(res) {
if(res.indexOf("success")!=-1) {
//window.location.href = res.substr(8);
$("#CreateNewTicket_Body").html(res);
$("#CreateTicket").hide();
}
}
});
});
});
此函数检查表单元素中的required 类
function CheckRequired(event) {
var $form = $(this);
var emptyElements = $form.find('.required').filter(function() {
return this.value === ''
});
if(emptyElements.length > 0) {
event.preventDefault();
emptyElements.addClass("EmptySelect").attr('title', 'This field is required');
//alert(emptyElements.attr("id"));
alert("One or more fields cannot be blank");
return false;
}
}
然后我有这段代码,它使用上述函数自动检查我所有的表单中的必填字段:
$(document).ready(function () {
$('form').on('submit', CheckRequired);
});
它适用于 POST 到另一个页面的表单。
使用Ajax提交代码时,出错时显示alert,但仍然提交表单。
【问题讨论】:
-
您在哪个浏览器上测试它?火狐?
-
能否提供 MCVE 复制问题?
标签: javascript jquery ajax