2013-08-01 93 views
0

在我的頁面中,我有一個帶有Onchange事件的文本框和一個帶有Onclick按鈕的按鈕。 無論何時用戶在文本框內鍵入任何文本,然後立即點擊按鈕,文本框的第一個Onchange事件被觸發,然後按鈕的onclick事件被執行。Javascript:如何觸發Onclick Onchange事件的另一個文本框在同一頁面上的Onchange事件

有什麼辦法可以在Onchange或Onchange事件中觸發Onclick事件,如果點擊按鈕導致Onchange事件,則不會發生任何事情。

我嘗試過不同的事情,但仍然沒有成功。

+0

+1

聽起來像你必須重新思考你的邏輯。你在做什麼呢? – bfavaretto

+0

不要將您的更改功能綁定到更改事件。在點擊處理程序結束時執行它。 – 2013-08-01 14:19:00

回答

0

像別人說的,我不知道你爲什麼會想這樣做,但在這裏是你想達到什麼樣的一種替代方案:

的Javascript

var oldValue = null; 

function onClickCall(value) { 
    if(value != oldValue) { 
    onChangeCall(value); 
    oldValue = value; 
    } 
} 

function onChangeCall(value) { 
    // do something here 
    alert(value); 
} 

HTML

<input type="text" id="myTextInput" /> 
<input type="button" onclick="onClickCall(document.getElementById('myTextInput').value)" /> 
+0

@Matei ..我正在使用Ajax HTML編輯器,它的值通過使用Ajax回調保存在數據庫中,因爲OnClientChnage事件被使用。在OnClientChnage中,回調方法是被調用保存數據。如果修改了編輯器的文本後,用戶可以在頁面的任意位置單擊,但用戶點擊編輯器工具欄上的任何按鈕(粗體,下劃線等)時出現問題,在這種情況下,OnClientChange應該爲「NOT」被解僱或至少在它內部,我們應該能夠「避免」保存的回叫請求。 –