1

现在我正在使用 javascript 来完成工作,但我正在使用 onkeyup。这对我不起作用,因为我正在使用一个按钮来填充“var first”。当用户按下按钮时,它首先填充 var,因此没有实际的 keyup/keydown。

<script>
window.onload = function () {
  var first = document.getElementById('USERDEFINE1'),
      //second = document.getElementById('ADDRESS2');
      third = document.getElementById('PHONENIGHT');
      fourth = document.getElementById('INTERNET');
      fifth = document.getElementById('last_purchase');
      sixth = document.getElementById('last_purchase_date');


  first.onkeyup = function () { // or first.onchange
    //second.value = '4444';
    third.value = '111-111-1111';
    fourth.value = 'NONE';
    fifth.value = 'N/A';
    sixth.value = 'N/A';
  };
};
</script>

我可以使用类似的东西:

if (document.getElementById(first.value) > 0

如果是这样,我如何在我当前的 javascript 中实现或者我应该一起重写它?提前致谢。

4

1 回答 1

0

您只需在按下按钮按下该输入中的某个键后运行相同的填充逻辑即可。您还可以依赖其他事件,例如change,具体取决于您希望界面的动态程度。

基本上,

function populateInputs() {
    //if we are in here, it means the value of first is > than 0
    //at this point you can populate your other inputs
}

document.getElementById('your-button-id').addEventListener('click', function () {
    first.value = 10; //init the value greater than 0
    populateInputs(); //we know value is greater so populate
});

first.addEventListener('keyup', function () {
    if (first.value > 0) {
        populateInputs();
    } else {
        //first.value is not greater than 0
        //reset input values to N/A or blank?
    }
});
于 2013-04-18T20:52:36.633 回答