2015-09-22 27 views
1

當用戶在頁面上的文本框中標籤時,它會關閉onfocus事件,通過jQuery AJAX調用來調用Web服務。導致無限循環的Jquery ajax錯誤

如果ajax調用發生錯誤,我想通過警告框向用戶顯示一條消息,但它會導致無限循環。它會顯示警告框,用戶點擊好,並重新出現警告框。

如何解決此問題?

function DoSomething() { 
    var url = baseUrl + "/MyMethod"; 

    $.ajax({ 
     url: url, 
     data: { input: 'MyData' }, 
     error: function(e) { 
      alert("Display message"); 
     } 
    }); 
} 

<asp:Textbox id="txtMyTextBox" runat="server" onfocus="DoSomething" /> 
+2

不使用警報,輸入不會失去焦點。 – dandavis

+2

那麼你需要刪除焦點事件或找到一個更好的方式來顯示消息給用戶,所以焦點不需要被刪除。 – epascarello

+0

當警報彈出時,文本框失去焦點。當警報消失時,重新獲得焦點,並且該功能再次運行。 –

回答

0

綁定到像onclickonchange實際用戶動作,而不是onfocus。如果用戶沒有輸入任何內容,那麼發送到服務器可能沒有用處,對吧?

<asp:Textbox id="txtMyTextBox" runat="server" onclick="DoSomething" /> 
+1

這不是問題的答案,這是一個評論/問題 –

+0

這是一個簡單的問題答案,加上一個獎勵評論/問題。但我爲你添加了一個代碼片段。 – tragle