javascript - 使用 HTML 和 JavaScript 添加清除按钮

标签 javascript html button

我不明白为什么这行不通!我的清除按钮什么都没做。这是我的整个表格/计算器。我需要“清除”按钮来清除“英尺”和“米”字段中的文本。

我正在做一个类项目。

<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">

Working demo

这对你有用,但如果你想修复你的代码,请继续阅读。

你有一些错误。您的表单需要一个 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/

相关文章:

javascript - 旋转元素后的过渡

javascript - .Net Core 2 在 View 中将 C# 变量转换为 Javascript

WPF 按钮命令绑定(bind)已刷新,但按钮仍处于禁用状态

javascript - 无法读取未定义 react 的属性 props

javascript - 如何使我自己的 jQuery 对话框像 jQuery UI 对话框一样使用不透明度?

javascript - 在 IE 和 Chrome 中动态加载 jQuery

javascript:如何制作具有相同数据的多个组合框

python - 通过在下拉列表中导航不同的选项来抓取表格

javascript - 如何创建返回页面顶部的按钮?

c++ - 从控制台模拟按钮单击到 UI 类