2

每當我把這個JavaScript在頁面中導致IE7或IE8中的this error,我不知道它有什麼問題,起初它是在頭部區域該頁面,但我後來將其移動到身體標記後,並添加了一些谷歌搜索後推遲=延遲。這個Javascript有什麼問題? 「Internet Explorer無法打開互聯網網站 - 操作中止」錯誤

如果我刪除JavaScript,它一切正常。

<form name="myform" method ="POST" onsubmit="return validateForm();"> 
<table border="0" width="600px"> 
    <tr> 
    <td>Name:</td> 
    <td><input name="name" type="text" id="name"/></td> 
    <td>Company:</td> 
    <td><input name="company" type="text" id="company"/></td> 
    <td>&nbsp;</td> 
    </tr> 
    <tr> 
    <td>Email Address:</td> 
    <td><input name="email" type="text" id="email"/></td> 
    <td></td> 
    <td></td> 
    <td>&nbsp;</td> 
    </tr> 
    <tr> 
    <td><input type="radio" value="I Agree" name="myradiobutton" /> 
    I Agree</td> 
    <td>&nbsp;</td> 
    <td><input type="radio" value="I Disagree" name="myradiobutton" /> 
I Disagree</td> 
    <td>&nbsp;</td> 
    <td><input type="submit" name="submitit"" value="Submit" /></td> 
    </tr> 
</table> 
</form> 
</div> 
    </body> 
    <script defer="defer" type="text/javascript"> 
function validateForm() 
{ 
var x=document.forms["myform"]["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; 
    } 
} 
</script> 
+3

哪裏'valbutton()從提交按鈕的'的onClick =「valbutton叫做'功能(myForm的);「'? – nnnnnn 2012-07-17 13:54:54

+0

如果在頁面中只有'',是否會發生錯誤? – 2012-07-17 13:55:30

+0

你的網頁上是否有閃光燈?看起來像所有導致此錯誤的問題都與Adobe Flash有關。 – jbabey 2012-07-17 13:56:49

回答

3

我認爲這個問題可能與在你的js中沒有提供相應的src屬性時使用defer屬性有關。

嘗試把validateForm()到一個腳本調用validate.js什麼的,然後使用

<script defer="defer" src="validate.js" type="text/javascript"></script> 

This post has more information and additional links on IE/defer

+0

是的,我相信推遲只適用於鏈接的腳本。無論如何,推遲是一個遺蹟。現在有更好,更優雅的方式來實現同樣的目標。 – Utkanos 2012-07-17 14:03:17

相關問題