页面javascript验证问题

atie888 2007-11-05 01:30:30
我想在页面上做表单验证,但无论如何,每次都提交到后台执行,我想在f_doSave()返回false时,不执行doSave方法,请各位高手指点,谢谢!!

页面:

<script type="text/javascript" language="javascript">

function f_doSave()
{
var str = "";
str = document.all.txtUserName.value;
if(str.length > 0)
{
return true;
}
else
{
return false;
}
}
</script>
</head>

<table>
<tr>
<td> <asp:TextBox ID="txtUserName" runat="server" Width="100" /></td>
</tr>
<tr>
<td><asp:Button ID="btnSave" runat="server" Width="50" Text="保存" OnClick="doSave" /></td>
</tr>
</table>


后台:

protected void Page_Load(object sender, EventArgs e)
{
if(!IsPostBack)
{
this.btnSave.Attributes.Add("onclick", "return f_doSave();");
}
}

protected void doSave(object sender, EventArgs e)
{
string str = this.txtUserName.Text.Trim();
if (str.Length > 0)
{
Response.Write("<script>alert('" + str + "')</script>");

}

}


就这样,可以执行上面的JAVASCRIPT,但如论返回true or false,都能执行doSave方法。
...全文
140 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
jokulyang 2007-11-06
  • 打赏
  • 举报
回复


看下 document.all.txtUserName.value;

这个变量是不是不存在或者名子txtUserName,不是这个了。

应该是js出错了。所以直接提交到后台。
活靶子哥哥 2007-11-06
  • 打赏
  • 举报
回复
<asp:Button OnClientClick="return f_doSave();"   ID= "btnSave "   runat= "server "   Width= "50 "   Text= "保存 "   OnClick= "doSave "   />
活靶子哥哥 2007-11-06
  • 打赏
  • 举报
回复
        protected void Page_Load(object sender, EventArgs e) 
{
if(!IsPostBack)
{
this.btnSave.Attributes.Add( "onclick ", "if(false == f_doSave())return false; ");
}
}
gimse7en 2007-11-06
  • 打赏
  • 举报
回复
up
沉默的糕点 2007-11-06
  • 打赏
  • 举报
回复
在DoSave返回的false并不能够终止 onclick事件的发生,但是如果事 onclick="return false" 就是终止onclick的发生。
而其他电脑可以执行。可能浏览器的不同而造成的。尝试

onclick="if(dosave())return true; else return false;"看看可以不?
atie888 2007-11-06
  • 打赏
  • 举报
回复
试过了,还是不行,但在其他机器上可以达到想要的效果,请问是什么原因?
kings2015 2007-11-06
  • 打赏
  • 举报
回复
Button1.Attributes.Add("OnClick", "javascript:return checkAll();");


<script type= "text/javascript " language= "javascript ">

function f_doSave()
{
var str = " ";
str = document.getElementById ( "txtUserName" ).value;
if(str.length > 0)
{
return true;
}
else
{
return false;
}
}
</script>


philoo 2007-11-05
  • 打赏
  • 举报
回复

protected void Page_Load(object sender, EventArgs e)
{
if(!IsPostBack)
{ //这里改一下试试
//this.btnSave.Attributes.Add( "onclick ", "return f_doSave(); ");
this.btnSave.Attributes.Add( "onclick ", "javascript:return f_doSave(); ");
}
}

protected void doSave(object sender, EventArgs e)
{
string str = this.txtUserName.Text.Trim();
if (str.Length > 0)
{
Response.Write( " <script> alert( ' " + str + " ') </script> ");

}

}

62,074

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧