JQuery验证停止表单提交时出现错误
JQuery validation stop form submission when there are errors
我有麻烦的形式Jquery验证,其中的形式是提交,尽管有错误的形式
我在这里检查了其他的解决方案,但没有一个对我有效。
// validate.js file
function setupFormsValidation(formName){
// validate
$(formName).validate({
onfocusout:false,
onkeyup:false,
onclick:false,
focusInvalid: false,
errorPlacement: function(error, element) {
if (element.parents('.inputgroup').length) {
error.insertBefore(element.parents('.inputgroup'));
element.parents('.inputgroup').addClass('error');
} else {
error.insertBefore(element);
};
},
showErrors: function (errorMap, errorList) {
// Code to process errors
});
// Code for initializing the form etc
}; //setupFormsValidation
在我的表单中,代码如下:
<form action="thankyou.php" class="frmValidate" id="change-dept-form" method="post" name="change-dept-form">
<fieldset class="inlinelabels">
<legend><br /> Department name and code change information</legend>
<div class="row required" id="txt_current_dept_code_row">
<label class="required" for="txt_current_dept_code">Current department code (3 characters min, 4 characters max):</label>
<input class="required" data-min-length="3" id="txt_current_dept_code" name="txt_current_dept_code" required="required" type="text" />
</div>
<div class="row required" id="faculty2_row">
<label for="faculty2">Faculty:</label>
<select class="required" id="faculty2" name="faculty2" required="required">
<option value="">- Select -</option>
<option value="Arts">Arts</option>
<option value="Business">Business</option>
</select>
</div>
</fieldset>
<div class="row buttons">
<input id="mySubmit" type="submit" value="Submit" />
<input type="reset" value="Clear" />
</div>
</form>
<script src="../../assets/js/validate.js" type="text/javascript"></script>
$(document).ready(function(){
setupFormsValidation('#change-dept-form');
$("input[type='submit']").click(function(e){
$form = $('#change-dept-form');
if ($form.valid()){
alert('Test');
// need code to submit
} else {
alert('Show errors');
};
});
});
我在if ($form.valid()){上有一个断点,它在那之后不运行任何代码。它甚至没有显示Test alert或show Errors alert
您没有取消提交,这就是为什么无论是否有错误都要进行提交的原因。当出现错误时,您需要取消提交按钮的默认行为
} else {
alert('Show errors');
return false; // <-- This should do the trick
};
单击提交按钮时,onclick: false
选项禁用验证。这就是为什么没有验证就提交了表单。
相关文章:
- 表单提交没有'如果为空,则不会显示错误消息
- 在表单提交按钮的点击事件中调用函数时发生引用错误
- 阻止表单提交 javascript 为什么有一个明显的错误语句返回 true
- 如果出现错误,请在表单提交中显示图像
- 在表单提交时显示错误
- Django 使用 Javascript 提交的错误表单
- 服务器仅在表单提交时调用 preventDefault 时返回 500 错误
- 联系表单提交错误
- Ajax 表单提交成功,但出现警报错误
- Javascript 表单提交错误
- JavaScript错误表单验证:提交时清除所有输入字段
- 表单提交时出现 jquery 错误
- Safari 5中一个奇怪的javascript表单提交错误的解决方法是什么
- HTML 表单提交时出现 JavaScript 错误
- 如果出现错误,则阻止表单提交
- 为什么返回错误不会阻止我的表单提交
- ajax表单提交但调用错误函数
- Ajax表单提交&Javascript确认错误
- Node.js表单提交异步错误反馈
- 谷歌应用程序脚本未上传文件:网络错误:表单提交失败