我尝试根据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';
}
};
};
您必须将代码更改为以下内容:
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
。
slave
是一个元素而不是字符串。试着获得它的价值。
document.getElementById('value_master').onkeyup = function() {
var slave = document.getElementById('value_slave').value;
}