innerHTML不会在Firefox中打印变量

时间:2014-04-19 23:23:09

标签: javascript html firefox

我在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>

我非常感谢这方面的一些帮助,因为我需要这个练习。

谢谢!

2 个答案:

答案 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"