2012-08-05 74 views
0

我創建了一個名爲removeValue的方法來刪除formfields的值。每次用戶點擊它時,我都會在需要執行的函數中加入onclick事件,在html中,它會給出這個錯誤:「不能引用變量...」(類似的東西)。這是爲什麼?用自定義方法更改表單域的值?

我以爲關鍵字this總是指被調用的對象,如果我直接在HTML中寫入this.value ="";,它就起作用。這是爲什麼?

function removeValue() { 
    if (this.value != "") { 
     this.value = ""; 
    } 
} 

回答

2

this在這種情況下引用窗口對象。通過你的元素的功能是這樣的:

function removeValue(element) { 
    element.value = ''; 
} 

<input onclick="removeValue(this)" type="text"> 

我認爲這將是更好,如果你綁定功能的onfocus事件,因爲那樣的話切換到輸入字段時,它被也被稱爲與標籤。的回答

+0

感謝,爲什麼它指的是window對象,我想這總是指的是該方法被要求的對象? – Alex 2012-08-07 19:14:47

相關問題