验证不经过,阻止表单提交

一种状况是写在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 >
复制代码
做者: 焱龙
申明:做者写博是为了总结经验,和之后的工做参考之用。
相关文章
相关标签/搜索