0

我想要做的就是禁用按钮,如果ftemp. 如果有,我希望按钮启用并检查它是否为数字。然后我可以发送ftemp到下一页。我的 html :

<!DOCTYPE html> 
<html>
    <head>
        <title></title>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <script type="text/javascript">

            function content()
            {
                var ftemp = document.getElementById("ftemp");
                if (ftemp.value=="")
                {
                    var convert = document.getElementById("convert").disabled=true;
                    document.getElementById("error").innerHTML = "";
                }
                else
                {
                    isNumeric()
                }
            }
            function isNumeric()
            {
                var ftemp = document.getElementById("ftemp");
                if (isNaN(ftemp))
                {
                    var convert = document.getElementById("convert").disabled=true;
                    document.getElementById("error").innerHTML = "Enter only numbers";
                }
                else 
                {
                    var convert = document.getElementById("convert").disabled=false;
                    document.getElementById("error").innerHTML = "";
                }
            } 

        </script>
    </head>
    <body onload="content()">
        <form method="get" action="celsius">
            <p>
                <label>
                    Enter a temperature in Fahrenheit:
                </label>
            </p>
            <p>
                <input required id="ftemp" title="Enter only numbers!" size="3"
                    maxlength="3" onkeyup="content()"/>
                <button id="convert" name="convert">Convert to Celsius</button>
            </p>
            <p id="error" name="error">

            </p>
        </form>
    </body>
</html>
4

2 回答 2

3

内部isNumeric()

您正在检查: DOM 元素isNaN(ftemp)在哪里,ftemp所以它不能是数字。更改为isNaN(parseInt(ftemp.value, 10))

于 2013-03-03T20:54:45.087 回答
1

你在这里有错误:

if (isNaN(ftemp))

将其更改为:

if (isNaN(ftemp.value))

ftemp一个 DOM 对象。您需要在此处传递值。

小提琴:http: //jsbin.com/ocibuc/2

于 2013-03-03T20:56:36.857 回答