innerHTML在Firefox中可以使用,但在Chrome中不行。

6
如果我们在Firefox 23中执行以下代码,两个警告框都会显示正确的值。当我在Chrome 28中执行相同的操作时,第二个警告框显示空白窗口。 HTML
<input type="hidden" id="mappingIDinput"/>

JS

alert(mappingId);
document.getElementById("mappingIDinput").innerHTML=mappingId;  
alert(document.getElementById("mappingIDinput").innerHTML);

如何在隐藏的输入框中保存和检索值,以便跨浏览器使用(如果需要,请忽略IE)。


1
一个<input>标签内部不能包含其他标签。我不明白在Firefox中.innerHTML是如何工作的。(jQuery标签是否相关?你的代码没有使用任何jQuery特性。) - Álvaro González
@Álvaro G. Vicario,页面上正在使用jQuery,但不是在这里。 - Ganesh Bhosle
1
.innerHTML 用于获取/设置标签元素内部的内容。例如,如果您有一个类似 <div id='test'>Some Content</div> 的 div,使用 .innerHTML 您可以获取 Some Content,它位于 div</div> 内。但是,这不能用于获取/设置输入字段的值。应该使用 .value 来获取/设置值。 - Harry
3个回答

3

对于输入字段,请使用value而不是html来获取它们的值

JAVASCRIPT中

设置

document.getElementById("mappingIDinput").value="abc";

GET

alert(document.getElementById("mappingIDinput").value);

在jQuery中
设置(SET)
$("#mappingIDinput").val("abc");

GET

 alert($("#mappingIDinput").val());

0

你不能使用innerHTML来为输入标签设置值,但可以使用value或jquery中的val()。


0

对于所有输入,请使用.val()。内部HTML用于等等。

$("#mappingIDinput").val(mappingId);

干杯


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接