【发布时间】:2014-01-30 19:27:46
【问题描述】:
我正在尝试验证我的表单,但是当我创建的函数没有返回 false 时,它应该停止提交过程但它没有。
我的代码
var emailRE = /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/;
function formChecker() {
if (!emailRE.test(document.reservation.email.value)) {
window.alert("Your e-mail address is invalid");
return false;
}
}
我收到了警报,因此函数会检查电子邮件,但随后会停止
【问题讨论】:
-
你怎么称呼它?
-
您如何确定这一点?调试时,是否到达过
return行? -
简单地返回 false 不会在所有浏览器中停止提交。看看这个:return false not stopping form submit
-
@Renan:错了。问题在于他实际上并没有返回错误。 (在回调中)
-
@JoeDoe 好吧,现在 that 是错误的:
onsubmit="return formChecker()"是最低限度的更改。否则,formChecker的结果(无论是什么)都会被事件回调丢弃。否则,您可以传入事件对象并使用returnValue(old IE)/preventDefault(everything else)。
标签: javascript function validation