表单验证失败,firefox怎么还是会提交,IE能够不提交

<formaction="Default.aspx"method="post"onsubmit="chk();returnfalse;">Pleaseinputyourn... <form action="Default.aspx" method="post" onsubmit="chk();return false;">
Please input your name:<input type="text" name="usrname" /><br>
<input type="submit" value="btn" />
<asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>
</form>
<script type="text/javascript">
function chk(){
var formct=document.getElementById("form1");
if(formct.usrname.value.length>6){
document.getElementById("form1").submit();
}
}
</script>
展开
 我来答
fidswids
2011-06-07
知道答主
回答量:10
采纳率:0%
帮助的人:9.7万
展开全部
有submit按钮firefox默认会做2件事情,submit按钮的click事件,form的submit事件,所以要if (e && e.preventDefault) e.preventDefault(); 这句改变默认事件的行为.另外firefox的event事件的作用域是局部的,所以函数调用的时候要加上event做参数

<form id="form1" action="a.html" method="post" >
Please input your name:<input type="text" name="usrname" /><br>
<input type="submit" value="btn" onclick="return chk(event);" />
<asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>
</form>
<script type="text/javascript">
function chk(e){
var formct=document.getElementById("form1");
if (e && e.preventDefault) e.preventDefault();
if(formct["usrname"].value.length>6){
document.getElementById("form1").submit();
return true;
}else{
return false;
}
}
</script>
火狐
2014-08-15 · Firefox,最快最安全的上网体验
火狐
Mozilla Firefox火狐浏览器,是一款开放安全的开源浏览器,全球拥有5亿用户。
向TA提问
展开全部
  您好!很高兴为您答疑!

  火狐的event事件的作用域是局部的,调用的时候要加上event做参数,应该写为:
  if (e && e.preventDefault) e.preventDefault();
  您可以在火狐社区了解更多内容。希望我的回答对您有所帮助,如有疑问,欢迎继续在本平台咨询。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式