驗證不經過,阻止表單提交

一種狀況是寫在onclick,下面兩種寫法均可以:瀏覽器

<inputtype="submit"value="提交1"onClick="returncheckform()">//IE能夠阻止,FF能夠阻止ide

<inputtype="submit"value="提交4"onClick="checkform_success(event)">//IE能夠阻止,FF能夠阻止post

另外一種狀況是動態綁定onclick事件:spa

<inputname="submit5"type="submit"value="提交5">//submit5.attachEvent("onclick",checkform_success)IE能夠阻止,FF能夠阻止調試

下面看代碼,自行調試!!!code

複製代碼
<%
response.write(
trim (request.form( " a " )))
%>
< form name ="myform" method ="post" action ="" >
< input name ="a" value ="abc" >< br >
< input type ="submit" value ="提交1" onClick ="returncheckform()" > //onClick="returncheckform()"IE能夠阻止,FF能夠阻止 < br >< br >
< input type ="submit" value ="提交2" onClick ="checkform()" > //onClick="checkform()"IE沒法阻止,FF沒法阻止 < br >< br >
< input name ="submit3" type ="submit" value ="提交3" > //submit3.attachEvent("onclick",checkform)IE能夠阻止,FF沒法阻止 < br >< br >
若是是直接寫在onclick裏面,咱們直接用returncheckform()就行了。
< br >
問題是有時候,咱們又不樂意寫在DOM元素裏,非要搞什麼動態綁定click事件。
< br >
動態綁定click事件請看提交3,IE能夠阻止,FF沒法阻止,瀏覽器不兼容!
< br >< br >
<!--如下兩個是解決方案,提交4是直接寫在onclick裏面,提交5是動態綁定事件的狀況-->
< input type ="submit" value ="提交4" onClick ="checkform_success(event)" > //onClick="checkform_success(event)"IE能夠阻止,FF能夠阻止 < br >< br >
< input name ="submit5" type ="submit" value ="提交5" > //submit5.attachEvent("onclick",checkform_success)IE能夠阻止,FF能夠阻止 < br >< br >
</ form >
< script >
if (document.all){ // ie
document.myform.submit3.attachEvent( " onclick " ,checkform);
document.myform.submit5.attachEvent(
" onclick " ,checkform_success);
}
else { // ff
document.myform.submit3.addEventListener( " click " ,checkform, false );
document.myform.submit5.addEventListener(
" click " ,checkform_success, false );
}
function checkform(){
if (document.myform.a.value == " abc " ){
alert( " 驗證不經過! " );
return false ;
}
}
function checkform_success(e){
e
= e || window.event;
if (document.myform.a.value == " abc " ){
alert(
" 驗證不經過! " );
if (document.all)e.returnValue = false ; // ie,window.event.returnValue=false阻止元素默認行爲
else e.preventDefault(); // 火狐,event.preventDefault阻止元素默認行爲
}
}
</ script >
複製代碼
做者: 焱龍
申明:做者寫博是爲了總結經驗,和之後的工做參考之用。
相關文章
相關標籤/搜索