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

时间:2012-08-05 14:32:47

标签: javascript forms

我创建了一个名为removeValue的方法来删除formfields的值。每次用户点击它时,我都会在onclick事件中输入要执行的函数,在html中,它会出现这样的错误:“无法引用变量......”(类似的东西)。那是为什么?

我认为关键字this总是引用被调用的对象,如果我直接在HTML中编写this.value ="";,它就可以工作。那是为什么?

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

1 个答案:

答案 0 :(得分:2)

在这种情况下,

this指的是窗口对象。将您的元素传递给这样的函数:

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

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

我认为将函数绑定到onfocus事件会更好,因为当使用制表符切换到输入字段时也会调用它。