我在Firefox中使用innerHTML
打印变量时遇到问题。这是一个非常简单的代码,我想到它在Chrome,IE和Safari中运行良好。
但是,在Firefox中,它拒绝在输入字段中打印用户输入的数据。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<script language="JavaScript">
function showVar() {
document.getElementById('name').innerHTML = document.getElementById('myname').value;
}
</script>
</head>
<body>
<input type="text" id="myname">
<input type="submit" value="Submit" onClick="showVar()"><br><br>
<div id='name'> </div>
</body>
</html>
我非常感谢这方面的一些帮助,因为我需要这个练习。
谢谢!
答案 0 :(得分:1)
奇怪的是,在我的Firefox版本中,我无法使用原生Javascript来使用代码。
此JQuery代码有效(http://jsfiddle.net/yvML8/1/)
$("#submit").click(function(){
$("#name").html($("#myname").val());
});
但是你被允许使用JQuery吗?我知道Classes / Unis可以非常具体地使用JQuery。
编辑:解决方案
好的,问题是您的<script>
代码不合法。您需要在脚本标题中使用type="text/javascript"
,而不是language
。我玩过定位,如果脚本放在HTML代码之前或之后都没关系。
完整代码如下:
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<script type="text/javascript">
function showVar() {
document.getElementById('name').innerHTML = document.getElementById('myname').value;
}
</script>
</head>
<body>
<input type="text" id="myname">
<input type="submit" value="Submit" onclick="showVar()"><br><br>
<div id='name'></div>
</body>
Firefox特别是<script>
和<link>
参数存在问题,有时其他浏览器更宽松。我有时会对此有所了解。
答案 1 :(得分:1)
脚本属性language
不是firefox友好的。请尝试使用type="text/javascript"
。