Skip to main content

$("#form”).attr("method”, "post”) is In java Script ASP.NET



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??


Comments

  1. 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.

    You 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;
    }

    ReplyDelete

Post a Comment

Popular posts from this blog

Slow Android emulator

I have a 2.67 GHz Celeron processor, 1.21 GB of RAM on a x86 Windows XP Professional machine. My understanding is that the Android emulator should start fairly quickly on such a machine, but for me it does not. I have followed all instructions in setting up the IDE, SDKs, JDKs and such and have had some success in staring the emulator quickly but is very particulary. How can I, if possible, fix this problem?