我有一个具有现有表单的网站,该网站向第三方网站(foo.com)提交了电子邮件地址.现在,我想在使用Javascript提交表单之前验证电子邮件输入字段.
我的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;
}
}
}
现有表单标签
现有电子邮件输入字段
现有的提交按钮
现在,一旦我按下了提交按钮,就提交了表单,并且我的Javascript似乎被忽略了.我究竟做错了什么?
解决方法:
当您通过直接调用“ submit()”来提交表单时,就像您的按钮一样,不会调用“ onsubmit”处理函数.
您可以让“提交”按钮调用其他函数:
function doSubmit() {
if (formCheck()) document.myForm.submit();
}
标签:javascript-events,html-form,javascript
来源: https://codeday.me/bug/20191210/2100118.html