情况是这样的: 这个页面是个注册页面(内容页),有用户名和密码等资料,我在页面上分别放置了两个textbox控件,两个非空验证控件,一个label控件和一个提交按钮,然后当用户名输入后先去判断此用户是否注册过了(使用了AJAX异步回传,textbox的textchanged事件),如果注册过了这label显示用户注册过了(label添加了style="display:none属性,后台写了判断改用户是否存在的代码并相应改变了style的值)",目前这步没问题。后来想提交按钮必须在label不显示出来且密码框的验证能通过的时候,提交按钮才能提交,所以又写了如下代码: funticon isusername()
{
if(document.getelementbyid("<%=label1.clientid%>").style.display=="block")
{
alert("用户名已存在,请重新输入");
return false;
}
else
{
return true;
}
} <asp: button id="button1" runat="server" onclick="button_xxx" onclientclick="return isusername();">
可这样问题出来了,当用户已注册过了确实是无法提交,可当用户名可以注册但密码框还没写的时候,却也可以提交,好像密码框那个验证不起作用了,为什么会这样,如何解决?(不要叫我改变提交到后台去再次判断用户名是否可注册)
{
if(document.getelementbyid("<%=label1.clientid%>").style.display=="block")
{
alert("用户名已存在,请重新输入");
return false;
}
else
{
return true;
}
} <asp: button id="button1" runat="server" onclick="button_xxx" onclientclick="return isusername();">
可这样问题出来了,当用户已注册过了确实是无法提交,可当用户名可以注册但密码框还没写的时候,却也可以提交,好像密码框那个验证不起作用了,为什么会这样,如何解决?(不要叫我改变提交到后台去再次判断用户名是否可注册)
funticon isusername()
{
if(document.getelementbyid("<%=label1.clientid%>").style.display=="block")
{
alert("用户名已存在,请重新输入");
this.isvalid=false;
}} <asp: button id="button1" runat="server" onclick="button_xxx" onclientclick="isusername();">
我也建议你自己写,用js 和ajax来做验证判断,或是直接在后台判断也可。