2015-01-15 136 views
0

我有一個ajax調用,並在它的結尾,我設置href錨標記,並希望點擊它,但無法這樣做。這裏是我的代碼:jquery觸發ajax調用後點擊

<div> 
    <a id="hypSendEmail">email</a> 
</div> 

$("body").on("click", "#btnPopulateEmails", function() { 
     var $form = $("#btnPopulateEmails").parents('form'); 
     $.ajax({ 
      type: "POST", 
      url: url, 
      async: true, 
      data: $form.serialize() 
     }).done(function (data) { 
      var json = data, 
      obj = JSON.parse(json); 
      if (obj.MessageType == "success") { 
       $("#hypSendEmail").attr('href', obj.MessageLink); 
       $("#hypSendEmail").trigger("click"); 
       //$("#hypSendEmail").click(); 
       $.colorbox.close(); 
      } 
      if (obj.MessageContent != null) { 
       //do something else 
      } 
     }); 
     return false; 
    }); 

我相信我必須以某種方式使用.on功能可能觸發點擊?請幫忙。我的目的是用郵件填充超鏈接到&自動點擊它。我嘗試使用Process.Start() & Response.Redirect()代碼behing這樣做,但都失敗了,所以現在我在這裏嘗試我的運氣。它確實在我的錨標記上填充了href標記,但只是不點擊它。

+3

也許會更好地利用'window.location.href = obj.MessageLink;'? –

+2

使用window.location.href = obj.MessageLink – Ragnar

+0

window.location.href的作品。非常感謝:) –

回答

0

這個工作感謝亞歷山大&拉格納評論:

window.location.href = obj.MessageLink; 
0

看起來像是一個可能的重複Jquery how to trigger click event on href element

Jquery觸發器只觸發處理程序而不是錨標記的原生行爲。而不是使用jquery.trigger,而是使用本地DOM「單擊」。

改變這一行:

$("#hypSendEmail").trigger("click"); 

爲了這個:

$("#hypSendEmail")[0].click(); 

希望幫助!