为什么button的onclick事件没有执行呢?

wwp_c 2010-03-01 03:49:51
在页面中要提交一个文本框至另一页。当前页中有一个button,然后选择了button的OnClick事件,在其中编写了对提交内容字数进行检查的代码,为什么点击了button后却不执行OnClick事件呢?

我想实现的效果是象在asp的html代码中一个submit,提交表单时用到onsubmit事件,并调用相关的javascript来判断提交内容的合法性。因刚刚才看asp.net,现在换到asp.net中找不到北了。
...全文
532 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
flyerwing 2010-03-01
  • 打赏
  • 举报
回复
button1.Click+=new EventHandler(button1_Click);//订阅事件

protected button1_Click(object sender,eventargs e)
{
//process
}
不知道有用不
ab83328523 2010-03-01
  • 打赏
  • 举报
回复
对了,RequiredFieldValidator1是否可以检测输入内容的长度呢

正则表达式
sunnyboy811224 2010-03-01
  • 打赏
  • 举报
回复
return docheck(document.form1.PersonName)。不同的浏览器对document.form1.PersonName支持不一样。建议你还是使用document.getElementByID方法先找到文本框,然后获取其值的方法来做。另可一步一步进行调试。看你的JS是在哪里执行短了或出错了。
wwp_c 2010-03-01
  • 打赏
  • 举报
回复
不好意思,是少了,这才是我原来的。
<script language="javascript">
function docheck(t)
{
if (t.value.length <2)
{
alert("待检索的人物姓名至少是有效的2个字!");
t.focus();
return false;
}
else
{
document.form1.action = "Search/PersonName.aspx";
document.form1.submit();
return true;
}
}
</script>
</head>

<body>
<form id="form1" runat="server">
<div>
<table align="center">
<tr>
<td>ZoomBig.com: </td>
<td>
<asp:TextBox ID="PersonName" runat="server" MaxLength="20"> </asp:TextBox>
</td>
<td>
<asp:Button ID="btnSearch" runat="server" Text="检索"
PostBackUrl="~/Search/PersonName.aspx" OnClientClick="return docheck(document.form1.PersonName)"
OnClick="btnSearch_Click"/>
<!-- -->
<asp:RequiredFieldValidator
ID="RequiredFieldValidator1" runat="server" ErrorMessage="RFV_PersonName" ControlToValidate="PersonName">请填写待检索的内容,至少2个字。 </asp:RequiredFieldValidator>
</td>
</tr>
</table>
</div>
</form>
</body>
-------------------

对了,RequiredFieldValidator1是否可以检测输入内容的长度呢?
ab83328523 2010-03-01
  • 打赏
  • 举报
回复
那个你在页面用了 <asp:RequiredFieldValidator
ID="RequiredFieldValidator1" runat="server" ErrorMessage="RFV_PersonName" ControlToValidate="PersonName"> 你把 它去掉再试一下,就知道问题出在哪了
jkyweb 2010-03-01
  • 打赏
  • 举报
回复
呵呵 ASP选手 看出来了
<asp:Button ID="btnSearch" runat="server" Text="检索" onclick="btnSearch_Click" OnClientClick="return checkAllInput();"/>


OnClientClick 是客户端点击提交 执行顺序在 onclick 之前,先触发JS判断,判断通过再通过 Onclick 提交。
  • 打赏
  • 举报
回复
是不是贴少了代码,重新贴一下
  • 打赏
  • 举报
回复
呵呵 他的客户端onclick事件 都没写在button 里面
别递烟哥不会 2010-03-01
  • 打赏
  • 举报
回复
我在你的button上没有看到事件关联的东西
chenjianyong94 2010-03-01
  • 打赏
  • 举报
回复
在后台page_load事件中注册该事件即可。

if(!page.ispostback)
{
this.btnSearch.Attributes.Add("onclick","return docheck('"+ this.PersonName.Text +"');");
}
罗纳尔迪尼奥 2010-03-01
  • 打赏
  • 举报
回复
<asp:Button ID="btnSearch" runat="server" Text="检索"
PostBackUrl="~/Search/PersonName.aspx" OnClientClick="docheck(this.value)"/>
wanghua19860104 2010-03-01
  • 打赏
  • 举报
回复
wwp_c 2010-03-01
  • 打赏
  • 举报
回复
<script language="javascript">
function docheck(t)
{
if (t.value.length<2)
{
alert("待检索的人物姓名至少是有效的2个字!");
t.focus();
return false;
}
else
{
document.form1.action = "Search/PersonName.aspx";
document.form1.submit();
return true;
}
}
</script>
</head>

<body>
<form id="form1" runat="server">
<div>
<table align="center">
<tr>
<td>ZoomBig.com:</td>
<td>
<asp:TextBox ID="PersonName" runat="server" MaxLength="20"></asp:TextBox>
</td>
<td>
<asp:Button ID="btnSearch" runat="server" Text="检索"
PostBackUrl="~/Search/PersonName.aspx"/>
<!-- OnClientClick="return docheck(document.form1.PersonName)"-->
<asp:RequiredFieldValidator
ID="RequiredFieldValidator1" runat="server" ErrorMessage="RFV_PersonName" ControlToValidate="PersonName">请填写待检索的内容,至少2个字。</asp:RequiredFieldValidator>
</td>
</tr>
</table>
</div>
</form>
</body>
itliyi 2010-03-01
  • 打赏
  • 举报
回复
newdigitime 2010-03-01
  • 打赏
  • 举报
回复
asp.net自带有 验证控件.

如果你不用验证控件,
同样在asp.net中也可以用基于javascrit的 onclick事件处理程序.
symbol_bc 2010-03-01
  • 打赏
  • 举报
回复
你的代码最好拿出来,现在不明白你是前台还是后台的工作,你又提到了从一个页到另一个页,你在后台使用的是server.transfer()吗,不明白
aihui109 2010-03-01
  • 打赏
  • 举报
回复
button 是服务器控件还是html控件 ?

onclick,是脚本时间还是后台事件?

62,073

社区成员

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

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

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

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