Прямо сейчас я использую javascript для выполнения работы, но я использую onkeyup. Это не сработает для меня, потому что я использую кнопку для заполнения "var first". Когда пользователь нажимает кнопку, он сначала заполняет переменную, поэтому фактического нажатия / нажатия клавиши нет.

<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, или я должен переписать все вместе? Заранее спасибо.

1
Head Way 19 Апр 2013 в 00:37
Используйте if (+first.value > 0) { }
 – 
Ian
19 Апр 2013 в 00:40
Зачем нужен тег jQuery, если вы его не используете?
 – 
Mark Schultheiss
19 Апр 2013 в 00:42
Я не вижу тега jquery, о каком теге вы говорите? Кроме того, я немного запутался в том, как интегрировать этого Яна.
 – 
Head Way
19 Апр 2013 в 00:46

1 ответ

Лучший ответ

Вам просто нужно будет запустить ту же логику пополнения после нажатия кнопки и после нажатия клавиши в этом поле ввода. Вы также можете полагаться на другие события, такие как 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?
    }
});
0
plalx 19 Апр 2013 в 01:11
YourButton = id моей кнопки? Также в // заполнении я бы добавил функцию populateInputs () {third.value = '111-111-1111'; четвертое.значение = 'НЕТ'; пятое значение = 'Н / Д'; шестое.значение = 'Н / Д'; }
 – 
Head Way
19 Апр 2013 в 01:02
Спасибо за помощь, но все еще не понимаю.
 – 
Head Way
19 Апр 2013 в 01:03
Я обновил ответ, но в основном, когда вызывается pupulateInputs, это означает, что first.value больше, чем 0, поэтому вы можете использовать любую логику, которая вам нужна в этот момент.
 – 
plalx
19 Апр 2013 в 01:13