0

我有input类型text。当我点击它时,我想清除它。但是我的方法不起作用

<span class="input"><input type="text" id="input1" onclick="clear()"></span>

clear()函数在哪里

function clear() {
    alert(event.target.id);
    event.target.value = "";
}

正确的方法是什么?

4

2 回答 2

2

函数名clear 似乎不起作用Change the function name(比如说,clearMe)并尝试(小提琴):

<script>
    function clearMe(x) {
    x.value = "";
}
</script>
<span class="input">
   <input type="text" id="input1" onclick="clearMe(this);" value="abcd" />
</span>

对于单行:

<input type="text" id="input1" onclick="this.value='';" value="abcd" />
于 2013-10-12T12:33:19.250 回答
1

问题是实际上有一个函数document.clear()被调用而不是你的!

在这种情况下,您还会在 Google Chrome 中看到一条警告,因为该功能已被弃用:

document.clear() 已弃用。这种方法没有任何作用。
— 谷歌浏览器 v30

选择另一个名称:

function clearA(obj) {
  obj.value = "";
}

<input type="text" id="input1" onclick="clearA(this);" />

或者使用真实的事件监听器(这应该是首选方式!):

document.getElementById("input1").addEventListener("click", function () {
  this.value = "";
};
于 2013-10-12T12:29:15.067 回答