I have a Grid view where I have a hyper link button which displays ID, by clicking on it I make a Ajax call to the server and get the specific URL to navigate against of the ID. After the Ajax call complete I call the following Codes to open the respective page in New Tab/Window.
function RedirectPageUrl(rqstID) {
$("#formMain").attr("action", rqstID);
$("#formMain").attr("method", "post");
$("#formMain").attr('target', '_blank');
$("#formMain").submit();
return false;
}
Here my problem is after clicking on the First hyperlink button things are working perfectly but then onwards whenever I click on any control (say Button)the previous opened form opens up. How to get rid of it any idea??
Because you have modified the action and other attributes of the main form on your page which I guess is the same #formMain'. So next time whenever you try to click on any button which postbacks to the server it submits the form to the action set by previousRedirectPageUrl` method call.
ReplyDeleteYou can try something like this which is basically using a different form for redirecting to another page. This way the main form remains unchanged and other functionalities on the page are not affected.
function RedirectPageUrl(rqstID) {
var $redirectForm = $('#redirectForm');
if($redirectForm.length == 0){
$redirectForm = $('<form id="redirectForm" method="post" target="_blank" />')
.appendTo(document.body);
}
$redirectForm
.attr("action", rqstID)
.submit();
return false;
}