Javascript jQuery表单提交不';似乎不会触发if语句
我有这个错误,但我不知道如何修复它。我使用了JSLint并得到了一些结果(它只是告诉我Javascript jQuery表单提交不';似乎不会触发if语句,javascript,jquery,forms,input,submit,Javascript,Jquery,Forms,Input,Submit,我有这个错误,但我不知道如何修复它。我使用了JSLint并得到了一些结果(它只是告诉我文档不是全局值,或者不需要'else子句',等等),但没有解决方案 我有一个表格要提交,我需要比较两个电子邮件字段是否相等。所以我想要一个简单的email1==email2脚本,jQuery不是我的强项,但我想到了这个: 我的表单ID是“regIn”,我的电子邮件字段分别是type=“email”(HTML5)和ID=“MailA”和ID=“MailB” 我已经预装了jquery 1.11.1.min.js 我
文档
不是全局值,或者不需要'else子句',等等),但没有解决方案
我有一个表格要提交,我需要比较两个电子邮件字段是否相等。所以我想要一个简单的email1==email2脚本,jQuery不是我的强项,但我想到了这个:
我的表单ID是“regIn”,我的电子邮件字段分别是type=“email”
(HTML5)和ID=“MailA”
和ID=“MailB”
我已经预装了jquery 1.11.1.min.js
我的jQuery代码(请参见下面为什么#遗忘的仍在其中):
//*参考;但这不在代码中:alert('alert1')代码>
因此,我使用警报来查看脚本运行到什么程度(我知道,俗气的调试)。firebug不会报告我能看到的页面错误或脚本错误。“警报1”总是在表单提交时触发,并成功地向我显示#MailA.val()
和#MailB.val()
的值
但是if
语句似乎根本没有启动。我尝试过创建值变量(var d1=$('#MailA').val()
等),但这并没有改变任何事情,表单总是提交,而且无论是if
还是else
(它确实围绕着if
语句子句下面的文本,但是JSLint说不需要它,所以我删除了它)
我还使用了不同的语法,使用了=
和==
但是也从JSLint那里读到了==
和==代码>是首选
我的HTML:
<form enctype="multipart/form-data" name="regIn" id="regIn" autocomplete="off" accept-charset="utf-8" action="#" method="post">
<div class="inputContainer">
<input type="email" value="" tabindex="31" id="MailA" name="regMailA" required>
</div>
<div id="errorMsg"></div>
<div class="inputContainer">
<input type="email" value="" id="MailB" tabindex="32" name="regMailB" required>
</div>
<div class="registerRow">
<input type="submit" class="regButton" value="Register" tabindex="34">
</div>
</form>
正如我所说,我已经环顾了大约一个小时,我就是看不到它是什么
很明显,对于这个问题,代码被剥离了,唯一的另一个方面是在document ready
函数中有另一个jQuery片段-如图所示,#遗忘的
用于显示/隐藏信息。盒子,这个很好用 请注意,您正在使用:
$('#errorMsg').innerHTML("Emails need to be the same!");
如果您试图提醒$('#errorMsg')。innerHTML
它将是未定义的
当您使用JQuery选择器$('#errorMsg')
时,JQuery将使用拥有JQuery特殊方法(val、html等)的JQuery dom对象包装dom对象,因此您无权访问核心方法innerHTML
,而应使用:
$('#errorMsg').html("Emails need to be the same!");
享受吧 请注意:它必须是$('#errorMsg').html(“电子邮件必须相同!”)代码>
$('#errorMsg').innerHTML("Emails need to be the same!");
$('#errorMsg').html("Emails need to be the same!");