我不明白为什么这行不通!我的清除按钮什么都没做。这是我的整个表格/计算器。我需要“清除”按钮来清除“英尺”和“米”字段中的文本。
我正在做一个类项目。
<body>
<form name="myForm">
<table border = "0" width = 300px>
<tr>
<td>
Feet:
</td>
<td>
<input type="text" id="feet">
</td>
</tr>
<tr>
<td>
Meters:
</td>
<td>
<input type="text" id="meters">
</tr>
</table>
</form>
</body>
<p>
<button onClick="calculate()">Convert</button>
<button onClick="clear()">Clear</button>
<p>
<script>
function calculate()
{
var feet = document.getElementById("feet").value;
var meters = document.getElementById("meters").value;
var final;
if (feet == "" && meters == "")
{
alert("Try Again");
return;
}
else if (!(feet == "") && !(meters == ""))
{
alert("Try Again");
return;
}
else if (feet == "")
{
final = (meters*(3.28084));
//Display!
final = final.toFixed(2);
document.getElementById("feet").value = final;
}
else if (meters == "")
{
final = (feet*(.3048));
//Display!
final = final.toFixed(2);
document.getElementById("meters").value = final;
}
}
//****************************************************************
function clear()
{
document.getElementById("myForm").reset();
}
</script>
最佳答案
实际问题是你在用这个
document.getElementById("myForm").reset();
但是你的表单没有ID,所以你要添加ID
<form name="myForm" id="myForm">
这对你有用,但如果你想修复你的代码,请继续阅读。
你有一些错误。您的表单需要一个 ID,因为您正在使用 getElementById
无需使用按钮来提交执行按钮可以执行的操作的 javascript。
你有 </body>
然后是更多 HTML。
缺少一个 </td>
<table border = "0" width = 300px>
语法不正确(你真的应该使用样式属性或 CSS 文件)
您还可以使用提交按钮并将函数绑定(bind)到正在提交的表单的操作,我已在此处完成。
<body>
<form name="myForm" id="myForm">
<table border = "0" width = "300">
<tr>
<td>Feet:</td>
<td><input type="text" id="feet"></td></tr>
<tr>
<td>Meters:</td>
<td><input type="text" id="meters"></td>
</tr>
</table>
<button type="submit">Convert</button>
<button type="reset">Clear</button>
</form>
<script>
document.getElementById("myForm").onsubmit=function(){
calculate();
return false;
};
function calculate()
{
var feet = document.getElementById("feet").value;
var meters = document.getElementById("meters").value;
var final;
if (feet == "" && meters == "")
{
alert("Try Again");
return;
}
else if (!(feet == "") && !(meters == ""))
{
alert("Try Again");
return;
}
else if (feet == "")
{
final = (meters*(3.28084));
//Display!
final = final.toFixed(2);
document.getElementById("feet").value = final;
}
else if (meters == "")
{
final = (feet*(.3048));
//Display!
final = final.toFixed(2);
document.getElementById("meters").value = final;
}
}
</script>
</body>
关于javascript - 使用 HTML 和 JavaScript 添加清除按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20532424/