2017-07-09 15 views
0

window.open()を使用せずに新しいウィンドウへのリンクを開きたい場合は、ajax呼び出しからのリンクを取得してください。リンクhref onclickを変更してから実行してください

私にはhref="#"というハイパーリンクがあります。私はhrefを変更して、ユーザーがリンクを一度クリックするとajaxコールからリンクに行きたいと思っています。

イベントが消費された後にリンクを変更しようとしていません。ここで

は私のコードです:

<a href="#" id="preview-btn-link"><i class="fa fa-eye fa-2x" id="save-btn"></i></a> 
<script> 
       var lockLink = true; 
       $("#preview-btn-link").click(function (e) { 
        if (lockLink) { 
         lockLink = false; 
         e.preventDefault(); 

         var a = $(this); 
         saveProject("true", function (r) { 
          gvwcProject.id = r; 

          $.post("ajax_path", {"id": r, "pn": paj.non}) 
            .done(function (r) { 
             console.log(r); 
             a.attr("href", r); 

             a.click(); 
            }) 
            .fail(function() { 
             console.log("fail"); 
            }); 

         }, function() { 
          console.log("failed"); 
         }); 
        } else { 
         lockLink = true; 
        } 
       }); 
</script> 

私はHREFからのリンクが変更されている見ることができます。しかし、私はリンクをクリックしても、リンクをバックコールしません。

+0

それをよりよく理解するためにも、あなたのHTMLコードを共有してください。 – Shiladitya

+0

あなたの質問は不明です。さらに明確にしてください。 – Difster

+0

質問を編集するだけです。 – user3502626

答えて

0

まあ、私はちょうどフォームを提出して仕事を得る。

<form id="form" method="post" action="the_link" target="_blank"> 
    --some fields -- 
</form> 

JS:

$("#preview-btn-link").click(function (e) { 
    //some check 
    //Edit the form attributes then submit 
    $("#form").submit(); 

    return false; 
}); 
関連する問題