我尝试根据文本字段value_master
中的输入来完成一些输入。
例如,如果我在文本字段 value_master
中输入 123
,我希望每个 value_slave
字段中都有特定的文本,但如果我输入 223
我想要别的东西。
我成功做到了这一点,并且在没有 if 条件的情况下工作。这样我就明白了:slave.substring 不是一个函数
。使用子字符串很重要,因为根据主值的具体位置,我将有更多的字段需要完成。
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';
}
};
};
最佳答案
您必须将代码更改为以下内容:
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
函数内。
关于Javascript if 条件与子字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55297304/