我尝试根据文本字段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';
}
};
};
答案 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;
}