外部JavaScript文件问题

时间:2015-02-11 08:02:25

标签: javascript html

现在这仅供未来项目的参考,但我试图调用一个读取字符串但后面显示一个浮点数的函数。所以我首先检查字符串然后显示一个随机数。我认为,问题在于document.getElementById部分。有什么建议??

HTML文件:

<html>
    <body>
        <input type="text" id="letter" value=""/><br/>
        <input type="button" value="LETS DO THIS!" onclick="floatNum();"/></br>

        <script type="text/javascript" src="letNum.js"></script>
    </body>
</html>

外部JS档案:

function floatNum()
{
    var val1 = document.getElementById("letter");

    if (isNaN(val1)
    {
        alert(Math.random())
    }
}

5 个答案:

答案 0 :(得分:0)

是的,你想传递函数中的元素,如下所示:

<input type="button" value="LETS DO THIS!" onclick="floatNum(document.getElementById('letter'))"/></br>

在你的JS中

function floatNum(el)
{
    if (isNaN(el)
    {
        alert(Math.random())
    }
}

如果是可重用的功能 - 尽量不要让它依赖于你的DOM。想想如果重命名元素或想要再次使用此功能会发生什么。你以前不可能 - 现在你可以。

答案 1 :(得分:0)

问题在于这一行:

var val1 = document.getElementById("letter");

应该是:

var val1 = document.getElementById("letter").value;

第一个将val1设置为表示输入标记的DOM元素,第二个将其设置为输入标记的文本值(其内容)。

答案 2 :(得分:0)

您需要处理输入字段的而不是输入字段本身。

function floatNum()
{
    var letter = document.getElementById("letter");

    if (isNaN(letter.value) // using input fields value not the whole object
    {
        alert(Math.random())
    }
}

答案 3 :(得分:0)

您不会获取输入的值,而是输入本身。

正确的代码是:

var val1 = document.getElementById("letter").value;

答案 4 :(得分:0)

以下代码正在运行: -     在你的代码中,你错过了右括号&#34;)&#34;接近&#34;如果条件&#34;

   <!DOCTYPE html>
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <title>demo</title>
        <script type="text/javascript">
            function floatNum()
            {
                var letter = document.getElementById("letter");

                if (isNaN(letter.value))// using input fields value not the whole object
                {
                    alert(Math.random());
                }
            }
        </script>
    </head>
    <body>
        <input type="text" id="letter" value="" /><br />
        <input type="button" value="LETS DO THIS!" onclick="floatNum();" />

    </body>
    </html>