当前位置: 代码迷 >> ASP.NET >> javascript retrun false之后,页面仍然被提交了。该怎么解决
  详细解决方案

javascript retrun false之后,页面仍然被提交了。该怎么解决

热度:3519   发布时间:2013-02-26 00:00:00.0
javascript retrun false之后,页面仍然被提交了。
一般在提交之前,都会将页面上数据是否合法有效的检查都放在javascript中的函数来做。然后,在asp.net中将button与javascript关联起来。我的做法如下:
Button1.Attributes.Add( "OnClick ", "javascript:return   CheckValidate(); ");

脚本内容:
function   CheckValidate(){
      var   code   =   document.all( "txtCode ").value;
      if   (code== " ")
      {
              alert( "请输入!! ");
              return   false;
        }
        return   true;
}
安装了flashget1.8之后,我发现虽然脚本函数已经return   false,但是后台事件仍然被触发。如何避免?如何解决?
通过设置form的onsubmit事件是一个办法,网络上也有文章推荐这个方法。
但问题是如果页面有两个作用不同的button,button1需要脚本校验,button2不需要脚本校验又如何区别处理呢?

------解决方案--------------------------------------------------------
Button1.Attributes.Add( "OnClick ", "javascript:return false(); ");会不会提交?如果会的话。只能在 <Form onsubmit中写了。判断是哪个按纽:function Onsumbmit() { alert(document.activeElement.id); }
------解决方案--------------------------------------------------------
不过这样写要累死人。
------解决方案--------------------------------------------------------
没看明白和 flashget1.8 有什么关系

------解决方案--------------------------------------------------------
對WEB不太熟﹐不過你可以試試:
Button1.Attributes.Add( "onclick ", "return CheckValidate() ");
以前也有過大小寫的問題,主要是Server控件。
------解决方案--------------------------------------------------------
如果是asp:Button的会,会提交,你可以看看生成后的HTML代码,会有两个onclick脚本函数,而且你自定义的会在后面!要么你开发自定义的Button控件,要么就使用LinkButton解决!
------解决方案--------------------------------------------------------
在onsubmit事件中检查就是需要判断是不是你想校验的button点击提交的页面,很麻烦。=======只能通过按纽的id来判断了。document.activeElement.id
------解决方案--------------------------------------------------------
应该是试试:
Button1.Attributes.Add( "OnClick ", "javascript:return false; ");
不是false()
------解决方案--------------------------------------------------------
修改一下
function CheckValidate(){
var code = document.all( "txtCode ").value;
if (code== " ")
{
alert( "请输入!! ");
event.returnValue = false;
}
}

------解决方案--------------------------------------------------------
顶一下
------解决方案--------------------------------------------------------
function CheckValidate(){
var code = document.getElementById( "txtCode ").value;
if (code== " ")
{
alert( "请输入!! ");
return false;
}
else
{
return true;
}
}
------解决方案--------------------------------------------------------
脚本内容:
function CheckValidate(){
var code = document.all( "txtCode ").value;
if (code== " ")
{
alert( "请输入!! ");
return false;
}
return true;
}
把你的脚本里面的return true;去掉应该就行了!
------解决方案--------------------------------------------------------
会不会和IE的配置有关系?
------解决方案--------------------------------------------------------
那么就是说你使用CheckValidate这个函数的时候,那个alert警告出来了吗?
如果没有出来,说明在IE中可能把脚本禁用了
------解决方案--------------------------------------------------------
  相关解决方案