嵌有母板页的页面如何加客户端验证

Leo2048 2012-03-28 08:47:52
大意如题。
请问这个事件如何定义的,最好贴一下这个JS代码,谢谢!
...全文
113 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
Leo2048 2012-03-29
  • 打赏
  • 举报
回复
对不起大家啊,【孟子E章】给了正确的代码。我竟然看漏一个return。谢谢大家!马上结帐~
porschev 2012-03-29
  • 打赏
  • 举报
回复

<asp:Button ID="btnSubmit" OnClientClick="return checkForm();" runat="server" Text="提交" OnClick="btnSubmit_Click" />
k767474055 2012-03-29
  • 打赏
  • 举报
回复

OnClientClick="checkForm();" 有问题,
应该
OnClientClick="return checkForm();" 这样才能return false
Leo2048 2012-03-29
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 的回复:]

你return false就不执行提交了,就不刷新了

<script>
function checkForm() {
……
[/Quote]
还是刷新了,不知为何,困惑啊……

<asp:TextBox ID="txtUserName" runat="server"></asp:TextBox>
<asp:Button ID="btnSubmit" OnClientClick="checkForm();" runat="server" Text="提交" OnClick="btnSubmit_Click" />


<script type="text/javascript">
function checkForm() {
if (document.getElementById("<%=txtUserName.ClientID %>").value=="")
alert("用户名为空 ");
return false;
}
</script>


protected void btnSubmit_Click(object sender, EventArgs e)
{
if (!comAPI.ExistString(txtUserName))//判断非空
{
Common.ShowMessages(this, "输入框不允许为空!");//Common是一个封装的类
return;
}
}

如果txtUserName为空,点击“提交”时,依次弹出“用户名为空”、“输入框不允许为空!”
然后我再把OnClick="btnSubmit_Click" 从Button中删除,页面还是会刷新(在把“用户名为空”警告框关闭后)。
Leo2048 2012-03-29
  • 打赏
  • 举报
回复
txtLength.onblur写错了,应该是txtUserName.onblur
Leo2048 2012-03-29
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 的回复:]

你用JS验证不就好了??? 验证通过自然就执行你的点击事件了!不通过返回false不久好了?
[/Quote]

window.onload = function () {
var txtUserName= document.getElementById("<% =txtUserName.ClientID %>");
txtUserName.onfocus = function () {
//do something
}
txtLength.onblur = function () {
//如果不填写,验证不通过
return false;
}
}

我想这样定义。验证不通过时,不过点击事件还会执行。是不是我这个代码有问题,请指教!
Im_Sorry 2012-03-29
  • 打赏
  • 举报
回复
你用JS验证不就好了??? 验证通过自然就执行你的点击事件了!不通过返回false不久好了?
Leo2048 2012-03-29
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 的回复:]

引用 4 楼 的回复:

引用 2 楼 的回复:
JS:document.getElementById("<%=控件ID.ClientID%>")

Jquery: $("[id$=控件ID]")

嗯~这样可以获取服务端控件的ID。可能我的表述让你误会了,呵呵~onblur,onfocus等事件我都可以实现,但我想如果不通过客户端验证的话,不刷新页面,不提交表单。请问这个怎么……
[/Quote]
好,我再具体叙述一下。有下面一个button提交:

<asp:Button CssClass="button" ID="btnSubmit" runat="server" Text="提交" OnClick="btnSubmit_Click" />

btnSubmit_Click事件执行后台的数据插入。我想如果客户端的验证不通过的话,就不执行这个btnSubmit_Click,页面不重新加载,请问有没有相关的关联事件?或者我这样定义有问题,请问怎么改?谢谢!
简单地说,如果下面的TextBox为空的话,验证不通过。

<div class="first">用户名:</div>
<div class="second">
<asp:TextBox ID="txtUserName" runat="server"></asp:TextBox>
</div>
zhangdaowu5 2012-03-29
  • 打赏
  • 举报
回复
这样会提交的,当前台通过了的时候他是会执行后台的。
孟子E章 2012-03-29
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 liangming1989 的回复:]

引用 1 楼 的回复:

一样啊
只是服务器控件的客户端id写
ClientID就可以了

我想不通过验证时不执行服务端的方法,不刷新页面,请问这个事件怎么定义的?
[/Quote]

你return false就不执行提交了,就不刷新了



<script>
function checkForm() {
if (document.getElementById("<%=txtUserName.ClientID %>").value=="")
alert("用户名为空 ")
return false;
}
</script>
<asp:Button ID="Button1" runat="server" Text="Button" OnClientClick="return checkForm();" />
porschev 2012-03-28
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 的回复:]

引用 2 楼 的回复:
JS:document.getElementById("<%=控件ID.ClientID%>")

Jquery: $("[id$=控件ID]")

嗯~这样可以获取服务端控件的ID。可能我的表述让你误会了,呵呵~onblur,onfocus等事件我都可以实现,但我想如果不通过客户端验证的话,不刷新页面,不提交表单。请问这个怎么弄?这个现在有点小困惑。
[/Quote]

还是没看太清楚。。。你想不刷新页面,不提交表单,你可以用AJAX提交。。。。得到AJAX返回结果。。

Mlovecoding 2012-03-28
  • 打赏
  • 举报
回复

document.getElementById("<%=控件ID.ClientID%>").value
Leo2048 2012-03-28
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 的回复:]
JS:document.getElementById("<%=控件ID.ClientID%>")

Jquery: $("[id$=控件ID]")
[/Quote]
嗯~这样可以获取服务端控件的ID。可能我的表述让你误会了,呵呵~onblur,onfocus等事件我都可以实现,但我想如果不通过客户端验证的话,不刷新页面,不提交表单。请问这个怎么弄?这个现在有点小困惑。
Leo2048 2012-03-28
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]

一样啊
只是服务器控件的客户端id写
ClientID就可以了
[/Quote]
我想不通过验证时不执行服务端的方法,不刷新页面,请问这个事件怎么定义的?
porschev 2012-03-28
  • 打赏
  • 举报
回复

JS:document.getElementById("<%=控件ID.ClientID%>")

Jquery: $("[id$=控件ID]")

孟子E章 2012-03-28
  • 打赏
  • 举报
回复
一样啊
只是服务器控件的客户端id写
ClientID就可以了

62,268

社区成员

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

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

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

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