I am creating HtmlButton dynamically in .cs file.
Adding it to Panel using
HtmlButton b1 = new HtmlButton();
b1.Attribute.Add("onclick","javascript:validateNclick(this.id);");
pnl.Controls.Add(b1); //pnl is Server-side <Asp:Panel>
Now how could i prevent postback of it? I had written javascript which is working in IE(No postback) but not in Mozilla Firefox (go to server-side code directly).
please help out.
Answers:
Thank you for visiting the Q&A section on Magenaut. Please note that all the answers may not help you solve the issue immediately. So please treat them as advisements. If you found the post helpful (or not), leave a comment & I’ll get back to you as soon as possible.
Method 1
return false to prevent postback:
b1.Attribute.Add("onclick","javascript:validateNclick(this.id);return false;");
Update:
You can also do this:
b1.Attribute.Add("onclick","javascript:return validateNclick(this.id);");
Then in your validateNclick function, if you want to have postback, return true, if not, return false.
Method 2
if you use jQuery you can use preventDefault() to do this
Method 3
on the javascript function return true or false and then add the return to your onclick as I show here.
function validateNclick(me)
{
if(allIsOk)
{
return true;
}
else
{
return false
}
}
and your attribute.
b1.Attribute.Add("onclick","javascript:return validateNclick(this);");
Method 4
b1.Attribute.Add("onclick","return validateNclick(this.id);");
function validateNclick(id){
//...
if(condition){
return true
}
else{
return false;
}
}
All methods was sourced from stackoverflow.com or stackexchange.com, is licensed under cc by-sa 2.5, cc by-sa 3.0 and cc by-sa 4.0