3
我有一个网站与现有的表格,提交一个电子邮件地址到第三方网站(foo.com)。现在我想在使用Javascript提交表单之前验证电子邮件输入字段。使用Javascript验证表单使用onsubmit
我的JavaScript
function isValidEmailAddress(emailAddress) {
var pattern = new RegExp(/^(("[\w-\s]+")|([\w-]+(?:\.[\w-]+)*)|("[\w-\s]+")([\w-]+(?:\.[\w-]+)*))(@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$)|(@\[?((25[0-5]\.|2[0-4][0-9]\.|1[0-9]{2}\.|[0-9]{1,2}\.))((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\.){2}(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\]?$)/i);
return pattern.test(emailAddress);
}
function formCheck() {
// Fetch email-value
sEmail = document.myForm.recipientEmail.value ;
// value empty?
if (sEmail == 0)
{
alert('Enter Email-Address.');
return false;
}
else
{
// value valid?
if (!isValidEmailAddress(sEmail))
{
alert('Enter valid Email-Address.');
return false;
}
else
{
return true;
}
}
}
现有表单标签
<form name="myForm" action="http://foo.com" method="post" onsubmit="return formCheck();">
现有的电子邮件输入字段
<input type="text" class="form-text" name="email" id="recipientEmail">
现有提交按钮
<input type="image" src="some_pic.gif" alt="OK" id="submit_form" onclick="document.onlineForm.submit();" value="send" name="submit_button">
现在,只要我打的提交按钮,提交表单和我的JavaScript似乎被忽略。我究竟做错了什么?
我用这个解决方案,并添加布尔返回值。如果在使用'onclick =“return doSubmit();”'时验证失败,这可以防止发布表单。 – Javier 2010-03-05 14:54:06