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

时间:2014-04-03 11:52:12

标签: javascript html hidden populate

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

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

中死掉

的Javascript

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

html输入文件

<input type="text" name="textfield_id_1" id="textfield_id_1" value="" maxlength="1" onKeyUp="buildhidden();">

隐藏字段

<input type="hidden" name="hiddenfield_id" id="hiddenfield_id" value="" />

在IE浏览器中,我得到“textfield_id_1未定义”而且没有更多。

任何帮助将不胜感激。我已经尝试明确声明每个文本字段:

var text1  = document.getElementById("hiddenfield_id").value;
var joinedvalues = text1+text2+ etc.

哪个也不起作用。我是一个php开发人员,JS不是我强大的套件......任何帮助都是非常欢迎。

2 个答案:

答案 0 :(得分:5)

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

id.value // bad practice, not cross-browser
document.getElementById('id').value // good, cross browser

这样做:

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;
}

答案 1 :(得分:0)

在IE的IE冒号可以转换为下划线,您可以使用此方法:

function convertNameToId(strId)
{
   reg = /:/g;
   return strId.replace(reg, "_");
}

并使用:

document.getElementById(convertNameToId(strName))