0
我想用jQuery执行表单验证。现在,我使用HTML5“必要”的输入标签中,并为验证该代码的jQuery:使用jQuery进行表单验证(不含validation.js)
的jQuery:
$("#register").click(function() {
$("#register input").each(function() {
$(this).css('border','none');
if(!$(this).val()) {
$(this).css('border','solid 1px red');
}
var email_reg = /^([\w-\.][email protected]([\w-]+\.)+[\w-]{2,4})?$/;
if($(this).attr("type")=="email" && !email_reg.test($(this).val())){
$(this).css('border','solid 1px red');
}
});
在使用IE9,有在HTML5“需要”不支持,所以虽然脚本正在运行,但它仍在运行输入操作.php文件。我很乐意知道我能否使用现有代码修复它,而不使用validate.js或其他外部文件。
HTML5:
<form id="register" action="<?php echo htmlspecialchars($_SERVER['PHP_SELF']);?>" method="post">
<p><label>First name</label><input type="text" id="name" name="name" required="true" /></p>
<p><label>Last name</label><input type="text" id="fname" name="fname" required="true" /></p>
<p><label>Email</label><input type="email" id="email" name="email" required="true" /></p>
<p>
<label>Phone</label>
<input id="area-code" type="text" name="code" maxlength="3" required="true" onkeydown="return isNumber(event);" />
<input id="phone" type="text" name="phone" required="true" maxlength="17" onkeydown="return isNumber(event);" />
</p>
<input type="submit" value="GET BONUS NOW" id="submit-btn" />
<?php include 'form.php';?>
感谢您抽出时间帮助我。这段代码正在工作,但现在我想知道两件事情:(1)它仅适用于点击事件,而不是提交事件(两者都尝试过)。 (2)在IE9上,我可以输入无效的电子邮件地址。 – yuvalsab 2014-09-28 14:26:46
1.它只适用于提交事件。看看“注册”ID在HTML中是否是唯一的,并且它被应用于'
事实证明,由于input标签中的'required',它在提交事件中不起作用。我很高兴能够同时使用它们。为什么不使用点击事件...? – yuvalsab 2014-09-28 14:42:55