Reputation: 523
I am having one Web page(First window). In that page I am having one image button, Which is having OnClientClick event. In that event I call a javascript method as OpenHelpWindow()
i.e.
OnClientClick ="OpenHelpWindow()"
Now whenever I clicked that image button the event in the javascript method(OpenHelpWindow())
will get trigger and it will open the New help web window. Its working properly but the problem is, When I press Enter key then also the event will get fire and show me the help window.
Now I want to stop the second window (Help window) opening when the Enter key pressed.
How can I resolve this problem?
My Code for the first web window Image button is,
.
.
<asp:ImageButton ImageUrl="~/Images/help.png" runat="server" ID="ibtnHelp"
AlternateText="Help" ToolTip="Help" OnClientClick="OpenHelpWindow()" />
.
.
function OpenHelpWindow()
{
var newWin = null;
try
{
newWin = window.open("../Common/OpenHelpUrl.aspx");
newWin.focus();
return false;
}
finally
{
newWin = null;
}
}
Upvotes: 1
Views: 12706
Reputation: 1
Invalid postback or callback argument. Event validation is enabled using in configuration or <%@ Page EnableEventValidation="true" %> in a page. For security purposes, this feature verifies that arguments to postback or callback events originate from the server control that originally rendered them. If the data is valid and expected, use the ClientScriptManager.RegisterForEventValidation method in order to register the postback or callback data for validation.
Upvotes: 0
Reputation: 33139
Your ImageButton
is the form's default button, which means that when the user presses Enter, that button automagically gets "pressed". This is standard ASP.NET behavior.
You can change this by adding the following attribute to your <ImageButton.../>
tag:
UseSubmitBehavior="False"
Good luck!
EDIT
If this doesn't work (which it should!), then you can fool the browser by adding an invisible dummy button in your form:
<asp:Button ID="dummy" runat="server" Text="" OnClientClick="return false;" style="display:none;"/>
and then adding defaultButton="dummy"
to your <form />
.
Upvotes: 4