Javascript,如果条件带有子字符串

时间:2019-03-22 10:11:30

标签: javascript if-statement input substring conditional-statements

我尝试根据文本字段value_master的输入来完成一些输入。 例如,如果我在文本字段123中键入value_master,我想在每个value_slave字段中都有一个特定的文本,但是如果我键入223,我还需要其他内容。 / p>

我设法做到这一点,并且在没有if条件的情况下工作。这样我得到: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 个答案:

答案 0 :(得分:2)

您必须将代码更改为以下内容:

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

答案 1 :(得分:0)

slave是一个元素,而不是字符串。尝试获取它的价值。

document.getElementById('value_master').onkeyup = function() {
   var slave = document.getElementById('value_slave').value;
}