Javascript 联系人表单中的自定义验证
我试图创建一些自定义验证错误,但当我单击我的按钮时,它不会显示错误并发送邮件,它会一直显示默认的html验证消息Javascript 联系人表单中的自定义验证,javascript,html,Javascript,Html,我试图创建一些自定义验证错误,但当我单击我的按钮时,它不会显示错误并发送邮件,它会一直显示默认的html验证消息 函数验证{ 功能电子邮件(){ 如果(form.email.value==“”){ 警报(“Ingrear un correo”); form.email.focus(); 返回false; } 变量re=/^[\w]+$/; 如果(!重新测试(form.email.value)){ 警报(“无效格式”); form.email.focus(); 返回false; } 返回true
函数验证{
功能电子邮件(){
如果(form.email.value==“”){
警报(“Ingrear un correo”);
form.email.focus();
返回false;
}
变量re=/^[\w]+$/;
如果(!重新测试(form.email.value)){
警报(“无效格式”);
form.email.focus();
返回false;
}
返回true;
}
函数名(){
如果(form.name.value==“”){
警报(“Ingrear un nombre”);
form.name.focus();
返回false;
}
返回true;
}
功能味精{
如果(form.message.value==“”){
警惕(“安格尔苏领事”);
form.message.focus();
返回false;
}
if(!re.test(form.message.value)){
警报(“错误,Ingrear solo caracteres alfanumericos”);
form.message.focus();
返回false;
}
返回true;
}
}
函数validateEmail(){
var emailID=document.form.email.value;
atpos=emailID.indexOf(“@”);
dotpos=emailID.lastIndexOf(“.”);
if(atpos<1 | |(dotpos-atpos<2)){
警报(“Por faor INGREAR un formato de email valido”)
document.form.email.focus();
返回false;
}
返回(真);
}
使用onsubmit,修复语法错误并调用验证函数
你需要做几件事
onsubmit
属性<代码>提交将执行
您的表单已提交,因此如果您的
验证后,该表单将不会提交
msg
和validate
后缺少括号
function msg() { ... }
function validate() { ... }
您还有一个if
关键字,该关键字的大写不正确(请参见name()
的定义)。在添加括号并取消关键字大写后,JavaScript不应再抛出任何语法错误
注意:您可能仍然有运行时错误--我没有检查您的
实际逻辑
if (!validate() || !msg() || ....) {
return false;
}
执行上述操作将阻止表单提交,并允许显示验证。从何处调用
validate()
、msg()
和其他函数?哦,有些函数中没有括号,有几个语法错误<代码>函数消息,函数验证
必须有括号…如果你想做咖喱,你可能会看到非常感谢。它可以工作(有点),但需要在我的代码中修复一些小东西。