Javascript if条件带子串

问题描述 投票:0回答:2

我尝试根据textfield 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';
            }
        };
    };
javascript if-statement input substring condition
2个回答
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


0
投票

slave是一个元素而不是字符串。试着获得它的价值。

document.getElementById('value_master').onkeyup = function() {
   var slave = document.getElementById('value_slave').value;
}
© www.soinside.com 2019 - 2024. All rights reserved.