Javascript表单验证无法在IE中运行

时间:2013-11-22 00:08:24

标签: javascript forms validation internet-explorer-9

我有一个非常小的表单和javascript来验证它。它检查的唯一字段是电子邮件地址,以查看它是否有效。

当我在Chrome中使用该表单时,该脚本按预期工作(提交表单,除非电子邮件无效)

当我在IE9中加载页面时,无论电子邮件字段是否完成,表单都不会提交。

查看IE中的调试控制台,我遇到的错误是:

“属性'submitData'的值为null或未定义,而不是Function对象”

我的表单如下:

<form id="contactform" action="http://localhost/test/wp-content/themes/mytheme/enquiry/enquiry-handler.php" enctype="multipart/form-data" method="POST" onsubmit="return validateForm()">
<label for="email">Shipping From?</label>
<select name="from" class="quoteboxSelect">
<option value="0">Please Choose</option>    
<option value="51\">United Kingdom<option value="52\">France<option value="53\">Germany<option value="54\">Afghanistan</select><br/ >
<label for="to">Shipping To?</label>
<select name="to">
<option value="0">Please Choose</option>
 <option value="51\">United Kingdom<option value="52\">France<option value="53\">Germany<option value="54\">Afghanistan</select><br/ >

<label for="what">Shipping What?</label>
<select name="what">
<option value="0">Please Choose</option>
<option value="26\">Excess Baggage<option value="27\">International Removal<option value="28\">Car Shipping<option value="29\">Freight</select><br/ >
<label for="email">Email:</label><br/>
<input name="email" size="20" /><br/>
<button class="" onClick="submitData();" value="Send request">Get Quote</button>

</form>

我的javascript看起来像这样:

<script>
function validateForm()
{
var x=document.forms["contactform"]["email"].value;
var atpos=x.indexOf("@");
var dotpos=x.lastIndexOf(".");
if (atpos<1 || dotpos<atpos+2 || dotpos+2>=x.length)
  {
  alert("Please enter a valid email address!");
  return false;
  }
return true;
}
</script>

有人可以建议我如何解决这个问题吗?

谢谢:)

2 个答案:

答案 0 :(得分:0)

似乎表单已从使用绑定到提交按钮的javascript函数更改为使用绑定到表单本身的提交处理程序的验证方法。

尝试更改:

<button class="" onClick="submitData();" value="Send request">Get Quote</button>

<button  type="submit" value="Send request">Get Quote</button>

答案 1 :(得分:0)

所以,您的问题是<input name="email" id =“email” size="20" />应该有id=属性。

我是如何找到问题的: