Javascript jquery";返回false";更新面板内部工作不正常
我使用jquery来验证放在更新面板中的文本框Javascript jquery";返回false";更新面板内部工作不正常,javascript,jquery,Javascript,Jquery,我使用jquery来验证放在更新面板中的文本框 $("[id*='btnCreate']").live('click', function () { var regex = new RegExp("^[a-zA-Z0-9]+$"); if (!regex.test($("[id*='txtbxTemplateName']").val())) { alert('hit'); $("[id*='lblError']").text() = 'Template na
$("[id*='btnCreate']").live('click', function ()
{
var regex = new RegExp("^[a-zA-Z0-9]+$");
if (!regex.test($("[id*='txtbxTemplateName']").val()))
{
alert('hit');
$("[id*='lblError']").text() = 'Template name is invalid!';
return false;
}
});
正在调用click事件函数,但在返回false后,它仍然会命中后面的代码
请在这方面帮助我。我想你的意思是“仍然点击隐藏的代码”,按钮的默认操作没有被阻止。这是因为由于错误,代码永远无法返回到return false
:
$("[id*='lblError']").text() = 'Template name is invalid!';
return false;
应该是
$("[id*='lblError']").text('Template name is invalid!');
return false;
但是,您刚刚暴露了为什么returnfalse
是阻止事件默认操作的一种不好的方法。这是错误的,因为错误处理程序中的任何错误都意味着默认操作不会被阻止,因为returnfalse
是处理程序中的最后一条语句
如果你使用,各种美丽的事情都会发生。其中最主要的是,您可以将语句放在处理程序的前面:
$("[id*='btnCreate']").live('click', function (event) {
var regex = new RegExp("^[a-zA-Z0-9]+$");
if (!regex.test($("[id*='txtbxTemplateName']").val())) {
event.preventDefault();
alert('hit');
$("[id*='lblError']").text('Template name is invalid!');
}
});
此
$(“[id*='lblError']”)。text()='模板名称无效!'代码>不正确…什么循环?什么代码隐藏?使用更新面板[code]var prm=Sys.WebForms.PageRequestManager.getInstance()时,还要确保重新绑定事件;add_endRequest(函数(){//在此处重新绑定jQuery事件});[/code]@Bergi“if block”“运行默认操作并向服务器发送请求”“您使用的是什么版本的jquery?好吧,但只是一个类型错误:-)@Bergi谢谢。只为你更新。