JavaScript если условие с подстрокой - PullRequest
0 голосов
/ 22 марта 2019

Я пытаюсь выполнить некоторые вводные данные в соответствии с вводом из текстового поля value_master.Например, если я набираю 123 в текстовом поле value_master, я хочу иметь определенный текст в каждом поле value_slave, но если я набираю 223, я хочу что-то еще.

Мне удалосьэто и работает без условий.С этим я получаю это: slave.substring is not a function.Важно использовать подстроку, потому что у меня будет больше полей для заполнения на основе конкретной позиции мастер-значения.

    window.onload = function()
    {
        var master = document.getElementById('value_master');
        var slave = document.getElementById('value_slave');

        document.getElementById('value_master').onkeyup = function(){
            if (slave.substring(0,1).equals("1") )          
            {
                slave.value = 'you typed something starting with 1';
            }
            else {
                slave.value = 'you typed something starting with 2';
            }
        };
    };

Ответы [ 2 ]

3 голосов
/ 22 марта 2019

Вы должны изменить свой код следующим образом:

window.onload = function()
{
    document.getElementById('value_master').onkeyup = function() {
        var slave = document.getElementById('value_slave');
        if (slave.value.substring(0,1).equals("1") )          
        {
            slave.value = 'you typed something starting with 1';
        }
        else {
            slave.value = 'you typed something starting with 2';
        }
    };
};

slave - это элемент в вашем коде, а не значение элемента.Чтобы получить значение элемента, вы должны использовать element.value.Кроме того, значение устанавливается только один раз, когда загружаются окна.Но не обновляется.Чтобы всегда работать с введенным значением, переместите var slave = document.getElementById('value_slave'); в функцию onkeyup.

0 голосов
/ 22 марта 2019

slave - это элемент, а не строка.Попробуйте получить значение этого.

document.getElementById('value_master').onkeyup = function() {
   var slave = document.getElementById('value_slave').value;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...