Jquery 如果字段为空或使用Safari,如何停止Ajax表单提交?
简要说明: 我的表单使用jQuery验证客户端,使用php验证和处理服务器端,使用ajax进行提交,停止页面刷新,并在提交后清除表单 问题是:如果缺少表单字段(所有浏览器)并且完全为空(Safari),表单仍然会提交 我的问题是,如果全部或少数字段为空,如何阻止表单进入提交 欢迎所有帮助,非常感谢,谢谢 HTML格式:Jquery 如果字段为空或使用Safari,如何停止Ajax表单提交?,jquery,ajax,forms,safari,submit,Jquery,Ajax,Forms,Safari,Submit,简要说明: 我的表单使用jQuery验证客户端,使用php验证和处理服务器端,使用ajax进行提交,停止页面刷新,并在提交后清除表单 问题是:如果缺少表单字段(所有浏览器)并且完全为空(Safari),表单仍然会提交 我的问题是,如果全部或少数字段为空,如何阻止表单进入提交 欢迎所有帮助,非常感谢,谢谢 HTML格式: <div id="form"> <form name="form" action="form_process.php" method="post"
<div id="form">
<form name="form" action="form_process.php" method="post" onsubmit="return validateForm()" enctype="multipart/form-data">
<p>
<input type="text" maxlength="80" size="50" required="required" id="fname" name="fName" value="<?php echo $_GET['fName'];?>" placeholder="First Name" />
</p>
<p>
<input type="text" maxlength="80" size="50" required="required" id="lName" name="lName" value="<?php echo $_GET['lName'];?>" placeholder="Last Name" />
</p>
<p>
<input type="text" maxlength="80" size="50" required="required" id="email" name="email" value="<?php echo $_GET['email'];?>" placeholder="Email Address" />
</p>
<p>
<input type="text" maxlength="80" size="50" required="required" id="subject" name="subject" value="<?php echo $_GET['subject'];?>" placeholder="Subject" />
</p>
<p>
<textarea name="message" rows="6" cols="38" required="required" id="message" placeholder="Message"></textarea>
</p>
<br />
<input type="submit" value="Submit" name="submit" />
<input type="reset" value="Clear" name="clear" />
</form>
</div>
使用$.data()向窗体添加一些标志,或者在触发某个错误后向其添加valid或invalid之类的类
检查此标志,如下所示:
$(表单).on('submit',函数(){
if($(this).hasClass('invalid')){
//错误处理
}否则{
//您的ajax调用
}
e、 预防默认值();
}
试试下面的
$(document).on('submit', '#form', function (e) {
if ($(this).hasClass('invalid') {
// error handling
} else{
// your ajax call
}
e.preventDefault();
}
这将是一个非常容易实现的方法。如果您仍然有任何疑问,请在评论中回复。将最早解决:)
$(form).on('submit', function () {
if ($(this).hasClass('invalid') {
// error handling
} else{
// your ajax call
}
e.preventDefault();
}
$(document).on('submit', '#form', function (e) {
if ($(this).hasClass('invalid') {
// error handling
} else{
// your ajax call
}
e.preventDefault();
}