您的位置:首页 > 其它

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

2013-09-23 10:32 246 查看
一种情况是写在onclick,下面两种写法都可以:
<inputtype="submit"value="提交1"onClick="returncheckform()">//IE可以阻止,FF可以阻止
<inputtype="submit"value="提交4"onClick="checkform_success(event)">//IE可以阻止,FF可以阻止
另一种情况是动态绑定onclick事件:
<inputname="submit5"type="submit"value="提交5">//submit5.attachEvent("onclick",checkform_success)IE可以阻止,FF可以阻止
下面看代码,自行调试!!!

<%
response.write(trim(request.form("a")))
%>
<formname="myform"method="post"action="">
<inputname="a"value="abc"><br>
<inputtype="submit"value="提交1"onClick="returncheckform()">//onClick="returncheckform()"IE可以阻止,FF可以阻止<br><br>
<inputtype="submit"value="提交2"onClick="checkform()">//onClick="checkform()"IE无法阻止,FF无法阻止<br><br>
<inputname="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是动态绑定事件的情况-->
<inputtype="submit"value="提交4"onClick="checkform_success(event)">//onClick="checkform_success(event)"IE可以阻止,FF可以阻止<br><br>
<inputname="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);
}
functioncheckform(){if(document.myform.a.value=="abc"){alert("验证不通过!");returnfalse;}}
functioncheckform_success(e){
e=e||window.event;
if(document.myform.a.value=="abc"){
alert("验证不通过!");if(document.all)e.returnValue=false;//ie,window.event.returnValue=false阻止元素默认行为
elsee.preventDefault();//火狐,event.preventDefault阻止元素默认行为
}
}
</script>
作者:焱龙出处:http://star-studio.cnblogs.com/申明:作者写博是为了总结经验,和以后的工作参考之用。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息