我在.cs文件中动态创建HtmlButton。 使用
将其添加到PanelHtmlButton b1 = new HtmlButton();
b1.Attribute.Add("onclick","javascript:validateNclick(this.id);");
pnl.Controls.Add(b1); //pnl is Server-side <Asp:Panel>
现在我怎么能阻止回发呢? 我编写的javascript工作在IE(没有回发)但在Mozilla Firefox中没有(直接转到服务器端代码)。 请帮忙。
答案 0 :(得分:3)
返回false以防止回发:
b1.Attribute.Add("onclick","javascript:validateNclick(this.id);return false;");
<强>更新强>:
你也可以这样做:
b1.Attribute.Add("onclick","javascript:return validateNclick(this.id);");
然后在您的validateNclick
函数中,如果您想要回发,请返回true
,否则返回false
。
答案 1 :(得分:1)
如果您使用jQuery,则可以使用preventDefault()
来执行此操作
答案 2 :(得分:0)
在javascript函数上返回true或false,然后将返回值添加到你的onclick中,如我在此处所示。
function validateNclick(me)
{
if(allIsOk)
{
return true;
}
else
{
return false
}
}
和你的属性。
b1.Attribute.Add("onclick","javascript:return validateNclick(this);");
答案 3 :(得分:0)
b1.Attribute.Add("onclick","return validateNclick(this.id);");
function validateNclick(id){
//...
if(condition){
return true
}
else{
return false;
}
}