观察表单上的字段并报告更改

时间:2012-05-10 17:30:51

标签: javascript observer-pattern

观察表单上的字段并报告更改

我现在编写了一个简单的实用程序(观察者模式的一部分)来观察表单中每个字段所做的更改。

var idInt = setInterval(function() {
  // each input is a document.getElementById(id)
  var len = inputList.lenght;

  while(len--) {
    //send value to somewhere
    someWhere(ininputList[len].value);
  }
}, 40)

但我有类似的问题:

  1. 用鼠标(剪切/粘贴)更改值时
  2. 以编程方式更改值时
  3. someWhere(ininputList[len].value);不要刷新,即使我尝试向元素添加事件(onchange,oncut,onpaste,oninput,onkeyup)以避免setIntervalloop但是当我尝试以编程方式更改值时不会发生事件火灾。

    考虑到程序化更改监控和更改通过界面用户,

    注意:我正在寻找原始解决方案,没有jquery,原型,js类或任何框架只是原生javascript

1 个答案:

答案 0 :(得分:0)

我不确定是什么问题,因为下面的代码可以正常工作

setInterval(function() {
  var inputList = document.getElementsByTagName('input')
  var len = inputList.length;

  while(len--) {
    console.log(inputList[len].value);
  }
}, 4000)​

它每4秒打印一次更改的值,您可以在此处查看它http://jsfiddle.net/QKqzT/