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

populate hidden field from other text fields javascript

本文关键字:字段 填充 隐藏 JavaScript 文本 其他      更新时间:2023-09-26

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

我在下面的代码在Chrome和Firefox中运行良好,但在IE 8,9,10中死亡


爪哇语

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不是我的强项...非常欢迎任何帮助。

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

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

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

并使用:

document.getElementById(convertNameToId(strName))