华氏度到摄氏度的功能没有运行

时间:2015-08-04 09:28:34

标签: javascript html

Java脚本功能未正常运行。我调用了一个函数,倾向于将华氏温度转换为摄氏温度。 我无法从文本框中获取价值。



<!DOCTYPE html>
<html>
    <head>
        <script src="jQuery/jquery-1.11.3.min.js" type="text/javascript"></script>
    </head>
    <body>
        <p id="demo"> </p>
        <script>
            function toCelsius(f) {
                return (5 / 9) * (f - 32);
            }

            
            document.getElementById("demo").innerHTML = toCelsius(document.getElementById("temp").value);
        </script>
        <form onsubmit="toCelsius()" action="">
        <input type="text" id="temp">
        <input type="submit" id="submit">
        </form>
    </body>
</html>
&#13;
&#13;
&#13;

2 个答案:

答案 0 :(得分:0)

您需要完全加载DOM树才能使用这些元素。当您在#demo内写作时,表单尚未呈现。 要解决此问题,您可以将javascript附加到dom内容加载事件,或将其移动到代码底部:

    <p id="demo"> </p>
    <form onsubmit="makeSubmit()">
    <input type="text" id="temp">
    <input type="submit" id="submit">
    </form>
    <script>
        function toCelsius(f) {
            return (5 / 9) * (f - 32);
        }

        function makeSubmit() {
             document.getElementById("demo").innerHTML = toCelsius(document.getElementById("temp").value);
             return false; //needs to prevent submit form
        }
    </script>

答案 1 :(得分:-1)

您不必使用form来使用您的javascript函数。 我是这样做的:

<强>使用Javascript:

function toCelsius(f) {
    return (5 / 9) * (f - 32);
}

function convert() {
    document.getElementById("demo").innerHTML = toCelsius(document.getElementById("temp").value);
}

<强> HTML:

<p id="demo"></p>
<input type="text" id="temp" />
<input type="button" id="submit" value="Convert" onclick="convert()" />

Here is the JSFiddle full demo