通过单击清除文本输入

时间:2013-10-12 12:20:16

标签: javascript

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

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

clear()函数在哪里

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

正确的方法是什么?

2 个答案:

答案 0 :(得分:2)

功能名称clear does not seem to be workingChange the function name(例如,clearMe)并尝试( Fiddle ):

<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" />

答案 1 :(得分: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 = "";
};