永遠不要假設你可以取消提交按鈕,而是在表單上設置一些javascript變量或隱藏字段並使用onsubmit。請聽我的話。擁有的onsubmit看看由不同的設定變量提交按鈕
切勿使用的javascript:(JavaScript的冒號),除非你是在IE中,有一個VBScript作爲頁面上的第一個腳本。在所有其他情況下,javascript是默認的。
切勿使用這種暴行的<a href="javascript:something()"
而不是<a href="#" onclick="return something()
最後,在IE中,當你有一個錯誤發生時,默認操作是提交表單。你很可能有其他錯誤完全在其他地方,並有驗證返回錯誤,這被看作是真(0評估爲假,most anything else is true)
<script type="text/javascript">
var isvalidateNeeded = true;
function validate(theForm) {
if (!isvalidateNeeded) return true; // allow submission
. // normal validation
.
.
return true; // allow submission
}
</script>
<form onsubmit="return validate(this)">
.
.
.
<input type="submit" name="subaction" value="Test" onclick="isvalidateNeeded=false" />
<input type="submit" name="subaction" value="Check" onclick="isvalidateNeeded=false" />
<input type="submit" name="subaction" value="Submit" onclick="isvalidateNeeded=true" />
</form>
IE是否給出錯誤信息? – JohnP 2011-03-08 06:56:22
試試這個onclick =「javascript:void(0); return validateUser();」 – 2011-03-08 06:57:17
不,IE不會給出任何錯誤信息。表單被正確提交。 – ashishjmeshram 2011-03-08 06:57:37