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中可能把脚本禁用了
------解决方案--------------------