Jquery 检查表单错误;但现在表格无法提交
表单停止提交以进行错误检查,但在检查完成后;它不会屈服 我做了一个演讲,想让你明白我的意思 如果单击“添加”时输入为空。错误应该显示出来。但是在你改正错误并正确填写表格之后。它无法提交且从未点击:Jquery 检查表单错误;但现在表格无法提交,jquery,html,Jquery,Html,表单停止提交以进行错误检查,但在检查完成后;它不会屈服 我做了一个演讲,想让你明白我的意思 如果单击“添加”时输入为空。错误应该显示出来。但是在你改正错误并正确填写表格之后。它无法提交且从未点击:alert('submitted') 我的代码:(已更新!):请查看 $(document).ready(function() { required = ["id_name", "id_location", "id_start_date", "id_about"]; emptyerror
alert('submitted')代码>
我的代码:(已更新!):请查看
$(document).ready(function() {
required = ["id_name", "id_location", "id_start_date", "id_about"];
emptyerror = "Please fill out this field.";
$("#eventForm").submit(function(e){
e.preventDefault();
var id = $(this).attr('id');
var errorText = '';
for (i=0;i<required.length;i++) {
var input = $('#'+required[i]);
if ((input.val() == "") || (input.val() == emptyerror)) {
input.addClass("tobefixed");
input.css('border','2px solid #CF4046');
input.val(emptyerror);
} else {
input.removeClass("tobefixed");
}
}
if ($(":input").hasClass("tobefixed")) {
return false;
} else {
return true;
}
});
$(":input").focus(function(){
if ($(this).hasClass("tobefixed") ) {
$(this).val("");
$(this).removeClass("tobefixed");
$(this).css('border', '2px solid rgb(187, 209, 236)');
}
});
});
$(文档).ready(函数(){
必需=[“id_名称”、“id_位置”、“id_开始日期”、“id_关于”];
emptyerror=“请填写此字段。”;
$(“#事件形式”)。提交(函数(e){
e、 预防默认值();
var id=$(this.attr('id');
var errorText='';
对于(i=0;iRemove或commentreturn false;
紧靠警报上方。您还在上方的if/else中强制返回该移除或commentreturn false;
紧靠警报上方。您还在上方的if/else中强制返回该返回语句之后的代码r执行
return false;
alert('submitted'); // this never hits. Why is that?
should be
alert('submitted'); // this hits.
return false;
更新:
if ($(":input").hasClass("tobefixed")) {
return false;
}
alert('submitted');
return语句之后的代码永远不会执行
return false;
alert('submitted'); // this never hits. Why is that?
should be
alert('submitted'); // this hits.
return false;
更新:
if ($(":input").hasClass("tobefixed")) {
return false;
}
alert('submitted');
如果没有验证消息,您将返回,请在返回前注释您的返回为真或放置警报
if ($(":input").hasClass("tobefixed")) {
return false;
} else {
return true; // it goes back from here
}
除此之外,您还需要评论您的最后一个问题
返回错误
更新
您正在放置
e、 预防默认值()
这将停止表单提交,尽管您没有任何验证错误
请参见此如果没有验证消息,请在返回前注释您的返回值,或放置警报
if ($(":input").hasClass("tobefixed")) {
return false;
} else {
return true; // it goes back from here
}
除此之外,您还需要评论您的最后一个问题
返回错误
更新
您正在放置
e、 预防默认值()
这将停止表单提交,尽管您没有任何验证错误
请参见此此处的错误提示。返回语句后的代码将不会执行。返回false;警告(“我永远不会被执行!”);document.body.innerHTML=“”;
一旦执行了e.preventDefault(),您必须在完成验证后自行启动提交。此处的错误提示是什么。?返回语句后的代码将不会执行。return false;alert(“我将永远不会执行!”);document.body.innerHTML=“”;
一旦执行e.preventDefault(),您必须在完成验证后自己启动提交。请查看此提琴:。它实际上没有提交。您的陈述是正确的,但我认为它没有解决问题。e.preventDefault()停止提交。请查看此小提琴:。它实际上没有提交。您的陈述是正确的,但我认为它没有解决问题。e.preventDefault()停止提交。请查看此提琴:。它实际上没有提交。+1这至少解决了OP使用e.preventDefault()阻止默认操作的问题;老实说,他可能只是删除了那一行,一切都会好起来。请看一下这把小提琴:。它实际上并没有提交。+1这至少解决了OP使用e.preventDefault()阻止默认操作的问题。老实说,他可能只是删除了那一行,一切都会好起来。