我有一个非常小的表单和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>
有人可以建议我如何解决这个问题吗?
谢谢:)
答案 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=
属性。
我是如何找到问题的:
SCRIPT5009: 'submitData' is undefined
。