我有这个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);
}
}
答案 0 :(得分:5)
在函数名之前写回程
<asp:Button ID="btnSave" runat="server" Text="Save" CssClass="buttons" OnClientClick="return validate()"/>
答案 1 :(得分:3)
如果这是一个ASP.NET WebForms应用程序,那么你真的应该考虑using the Validator controls。它们处理您要求的所有客户端逻辑。
如果您使用的是MVC,还可以使用model validation on the client side。
答案 2 :(得分:2)
如果它的asp.net按钮控件
,请添加它OnClientClick = "return validate();"
如果是html按钮添加此
onclick = "return validate();"
答案 3 :(得分:0)
Ît属于你如何处理事件。请显示asp标记和javascript事件的绑定。
您可以尝试使用javascript停止事件传播:
event.stopPropagation();
在此处阅读:https://developer.mozilla.org/en-US/docs/DOM/event.stopPropagation
注意:您必须将事件作为验证功能的参数:
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);
}
}
希望这会有所帮助。如何绑定验证功能按钮是非常重要的,因为asp.net自己生成了很多javascript(谷歌用于asp.net客户端验证)。