[英]stop asp.net btnsave.click event from firing when validation fails
我有此Java脚本验证功能,如果文本框的文本为空,则在客户端单击btnsave时将触发此消息,然后显示一个消息框,并且焦点位于文本框上,但我似乎无法阻止该页面在验证失败,我遗漏了一些东西。 这是我的代码
function validate()
{
var itemscanned;
itemscanned = document.getElementById('txtItemCode');
if (itemscanned.value == '')
{
alert("Plz Enter Item Code");
return false;
itemscanned.focus
}
else
{
alert(itemscanned.value);
}
}
像这样在函数名称前写返回
<asp:Button ID="btnSave" runat="server" Text="Save" CssClass="buttons" OnClientClick="return validate()"/>
如果这是ASP.NET WebForms应用程序,那么您确实应该考虑使用Validator控件 。 它们处理您要求的所有客户端逻辑。
如果其asp.net按钮控件将其添加
OnClientClick = "return validate();"
如果是html按钮,请添加此
onclick = "return validate();"
它属于您处理事件的方式。 请显示asp标记和javascript事件的绑定。
您可以尝试使用javascript停止事件传播:
event.stopPropagation();
在此处阅读有关内容: https : //developer.mozilla.org/en-US/docs/DOM/event.stopPropagation
注意:您必须将事件作为validate函数的参数获取:
function validate(event) {
var itemscanned;
itemscanned = document.getElementById('txtItemCode');
if (itemscanned.value == '') {
alert("Plz Enter Item Code");
event.stopPropagation();
itemscanned.focus
return false;
}
else
{
alert(itemscanned.value);
}
}
希望这可以帮助。 绑定按钮的validate函数非常重要,因为asp.net会自己生成很多JavaScript(用于asp.net客户端验证的Google)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.