表单重置后,Chrome onChange事件未触发清除字段

时间:2015-03-11 15:53:10

标签: javascript html google-chrome

在重置表单后,当文本字段被清除时,Chrome似乎没有触发更改事件。

以下是代码:

<html>
<head>
  <script>
    function doChange() {
      document.getElementById('info').innerHTML = 'Field changed to:[' + event.target.value + ']'; 
    }
  </script>
</head>
<body>
  <form>
    <input type='text' value='test1' onChange='doChange();'/>
    <input type='text' value='test2' onChange='doChange();'/>
    <button type='reset'>Reset</button>
    <div id='info'></div>
  </form>
</body>
</html>

有关试验台,请参阅http://jsfiddle.net/ahc6fpuw/

这是一个知道问题,如果有的话,是否有人可以解决这个问题?

添加步骤以创建问题: 1在第一个文本字段中输入一些文本 2按重置按钮(正确重置文本) 3选择第一个字段中的所有文本,然后按删除键 4按Tab键移至第二个文本字段。应该调用doChange函数,但不是。

2 个答案:

答案 0 :(得分:0)

重置为html元素提供默认值,在您的情况下,它是&#34; test1&#34; &安培; &#34; test2&#34;,所以即使你重置它也会显示&#34; test1&#34; &安培; &#34; TEST2&#34;

答案 1 :(得分:0)

重置按钮不会清除表单内的文本,只是将其重置为给定值。 尝试占位符而不是值属性


<form>
    <input type='text' placeholder='test1' onChange='doChange();'/>
    <input type='text' placeholder='test2' onChange='doChange();'/>
    <button type='reset'>Reset</button>
    <div id='info'></div>
  </form>