Javascript 是否使用自定义方法更改表单字段的值?

Javascript 是否使用自定义方法更改表单字段的值?,javascript,forms,Javascript,Forms,我创建了一个名为removeValue的方法来删除formfields的值。每次用户单击它时,我都会将要执行的函数放入onclick事件中,在html中,它会给出这样一个错误:“不能引用变量…”(类似于这样)。为什么呢 function removeValue () { if (this.value != "") { this.value = ""; } } 我认为关键字this总是指被调用的对象,如果我写this.value=“”直接在HTML中运行。为

我创建了一个名为
removeValue
的方法来删除formfields的值。每次用户单击它时,我都会将要执行的函数放入onclick事件中,在html中,它会给出这样一个错误:“不能引用变量…”(类似于这样)。为什么呢

function removeValue () {  
    if (this.value != "") {
        this.value = ""; 
    }
}
我认为关键字
this
总是指被调用的对象,如果我写
this.value=“”直接在HTML中运行。为什么呢

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

在本例中,此
引用窗口对象。将元素传递给函数,如下所示:

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



我认为最好将函数绑定到
onfocus
事件,因为在切换到带有tab的输入字段时,它也会被调用。

谢谢你的回答,为什么它会引用窗口对象,我认为它总是引用调用方法的对象?