如果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>
答案 0 :(得分:3)
内部isNumeric()
:
您正在检查:isNaN(ftemp)
其中ftemp
是一个DOM元素,因此它不能是数字。更改为isNaN(parseInt(ftemp.value, 10))
。
答案 1 :(得分:1)
这里有错误:
if (isNaN(ftemp))
将其更改为:
if (isNaN(ftemp.value))
ftemp
是一个DOM对象。你需要在这里传递值。