2013-11-22 42 views
0

我有一個非常小的表單和一個JavaScript來驗證它。它檢查的唯一字段是電子郵件地址以查看它是否有效。Javascript表單驗證在IE中不起作用

當我使用Chrome的形式,腳本按預期工作(提交表單,除非電子郵件是無效的)

當我加載IE9的頁面,表單不會提交,無論電子郵件字段已完成或未完成。

綜觀IE調試控制檯,我有錯誤是:

「屬性‘submitData’的值爲null或undefined,而不是一個函數對象」

我的形式看起來是這樣的:

<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

看起來形式使用綁定到提交按鈕的JavaScript函數改變,使用綁定到提交處理程序窗體本身的驗證方法。

嘗試改變:

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

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

這工作 - 謝謝:) – user2016348

0

所以,你的問題是你<input name="email"ID = 「電子郵件」size="20" />應該有一個id=屬性。

我如何發現問題:

+0

您好,我試過,但它並沒有任何區別。 – user2016348