帮我看一下这段关于用JS判断text是否为空的代码
<script language= "javascript " type= "text/javascript ">
function ButtonTest()
{
//接受 txtName的值
var i = document.form1.txtName.value;
//不像服务器提交
if(i== " ")
{
alert( "不能为空 ");
return false;
}
//以下向服务器提交
else
{
alert( "不是空 ");
return true;
}
}
</script>
<form id= "form1 " runat= "server " name= "form1 " >
<input type= "text " ID= "TextBox1 " runat= "server " name= "txtName " value= " " > <br />
<asp:Button ID= "Button1 " runat= "server " Text= "Button " OnClientClick= "return ButtonTest(); " OnClick= "Button1_Click "/>
</form>
如果js的方法里只有一个alert();和return false; 可以阻止向服务器提交,
可是为什么有了其他的却不能阻止向服务器提交数据呢?
------解决方案--------------------程序里面的return true或者false只是代表执行这个js函数的返回值是true还是false!
重要的是return ButtonTest();这里,假如你返回的是true就会产生回传,如果函数返回false就不会
------解决方案--------------------生成的HTML源文件如下
<input name= "TextBox1 " type= "text " id= "TextBox1 " /> <br />
<input type= "submit " name= "Button1 " value= "Button " onclick= "return ButtonTest(); " id= "Button1 " />
------解决方案--------------------如果是runat=server的话,指定的name会无效的.
var i = document.form1.TextBox1.value;
------解决方案--------------------var TextBox1=document.getElementById( 'TextBox1 ');
if(TextBox1.value== " ")
{
alert( '不能为空! ');
TextBox1.focus();
return false;
}
return true;
你这样写看看
------解决方案--------------------name会变为它的id,
------解决方案--------------------那是因为你的JS中有错啊
------解决方案--------------------记住,调试js时就应该查看它的源文件.
------解决方案--------------------我以前也碰到过,我就一行的测直到发现错误的那行,改了就行了
------解决方案--------------------记住,调试js时就应该查看它的源文件.
-----
如果你开启了ie选项中的调试js的选项,就可以在vs当中调试js了!
------解决方案--------------------