javascript - onsubmit不调用chrome中的js函数而是直接提交表单

标签 javascript windows google-chrome

我的表单在 Firefox 和 IE 中运行良好。在调用 onsubmit 时,它会调用 js 函数并验证代码,如果验证良好,则提交表单。

但是,在chrome中它不进行验证,而只是直接提交表单。

我不知道为什么会这样,做了很多搜索但没有结果。

任何帮助都将有助于解决此问题。

表单代码:

<form name="myform" action="queryfeedback.php" method="post" onSubmit="return validateForm(myform);">
<label for="labelField_Name" id="idLabel_Name"></label>
<input type="text" name="nameField_Name" id="idField_Name" placeholder="Enter your name here"/>
<br />
<label for="labelField_EMail" id="idLabel_EMail"></label>
<input name="nameField_EMail" type="text" id="idField_EMail" placeholder="Enter your E-Mail address here" />
<br />
<label for="labelField_Message" id="idLabel_Message"></label>
<textarea name="nameField_Message" id="idField_Message" placeholder="Enter your message for us here"></textarea>
<br />
<input type="Submit" name="nameSubmit" id="idButton_Submit" value="Submit"  alt="Submit Button"/>
</form>

验证码:

    function validateForm(form)
{ 
alert(form.nameField_Name.value);
//alert(formValueEMail.value);
//alert(formValueMessage.value);
if(form.nameField_Name.value=='')
{
    alert("Name field is required. Please fill it in.");
    form.nameField_Name.focus();
    form.nameField_Name.select();
    return false;
}
if(form.nameField_Name.value=='Enter your name here')
{
    alert("Name field is required. Please fill it in.");
    form.nameField_Name.focus();
    form.nameField_Name.select();
    return false;
}
if(form.nameField_EMail.value=='')
{
    alert("E-Mail Address field is required. Please fill it in.");
    form.nameField_EMail.focus();
    form.nameField_EMail.select();
    return false;
}
if(form.nameField_EMail.value=='Enter your E-Mail address here')
{
    alert("E-Mail Address field is required. Please fill it in.");
    form.nameField_EMail.focus();
    form.nameField_EMail.select();
    return false;
}
//Checking for correct format of EMail address.
var x=document.forms["myform"]["nameField_EMail"].value;
var atpos=x.indexOf("@");
var dotpos=x.lastIndexOf(".");
if (atpos<1 || dotpos<atpos+2 || dotpos+2>=x.length)
{
    alert("Not a valid e-mail address");
    return false;
}
if(form.nameField_Message.value=='')
{
    alert("Message field is required. Please fill it in.");
    form.nameField_Message.focus();
    form.nameField_Message.select();
    return false;
}
if(form.nameField_Message.value=='Enter your message for us here')
{
    alert("Message field is required. Please fill it in.");
    form.nameField_Message.focus();
    form.nameField_Message.select();
    return false;
}
return true;

最佳答案

尝试传入事件参数并运行 event.preventDefault(),以便在验证之前停止提交表单。

关于javascript - onsubmit不调用chrome中的js函数而是直接提交表单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11195173/

相关文章:

c - 如何删除 ISAPI 过滤器中的 header ?

php - ZF2 通过 Composer 安装得到错误的 PHP 版本

css - :hover not working 的不透明度过渡

javascript - Service Worker 在获取 MP3 音频时抛出错误

javascript - jquery droppable 在放置后添加 css

javascript - Parse.com User.get ("column")仅适用于当前用户

javascript - 在类上添加 onclick 事件

python - 如何在 python 中执行批处理文件后关闭命令提示符窗口?

google-chrome - 为什么 rotateY(翻转)css3 动画在 Chrome 中闪烁?

javascript - 不同长度电话号码的正则表达式