从其他文本字段中填充隐藏字段

Zei*_*ist 1 html javascript hidden populate

我试图通过使用javascript(没有JQuery,只是普通的javascript)串联其他文本字段来填充隐藏字段。

我下面的代码在Chrome和Firefox中完美运行,但在IE 8,9,10中死了


Java脚本

function buildhidden() {
var joinedvalues = textfield_id_1.value+textfield_id_2.value+textfield_id_3.value;
document.getElementById("hiddenfield_id").value = joinedvalues;
    };
Run Code Online (Sandbox Code Playgroud)

HTML输入文件

<input type="text" name="textfield_id_1" id="textfield_id_1" value="" maxlength="1" onKeyUp="buildhidden();">
Run Code Online (Sandbox Code Playgroud)

隐藏的领域

<input type="hidden" name="hiddenfield_id" id="hiddenfield_id" value="" />
Run Code Online (Sandbox Code Playgroud)

在IE中,我收到“未定义textfield_id_1”的信息。

任何帮助,将不胜感激。我尝试显式声明每个文本字段:

var text1  = document.getElementById("hiddenfield_id").value;
var joinedvalues = text1+text2+ etc.
Run Code Online (Sandbox Code Playgroud)

这也不起作用。我是一个PHP开发人员,而JS并不是我的强项... 非常欢迎任何帮助。

Ami*_*oki 5

使用,document.getElementById('id here ')因为所有浏览器都不会将元素的ID公开给全局范围。

id.value // bad practice, not cross-browser
document.getElementById('id').value // good, cross browser
Run Code Online (Sandbox Code Playgroud)

这样做:

function buildhidden() {
    var joinedvalues = document.getElementById('textfield_id_1').value + document.getElementById('textfield_id_2').value + document.getElementById('textfield_id_3').value;
    document.getElementById("hiddenfield_id").value = joinedvalues;
}
Run Code Online (Sandbox Code Playgroud)