簡體   English   中英

我的 HTML 和 javascript 代碼有什么問題?

[英]What's wrong with my HTML and javascript code?

我想實現一個簡單的測量收斂程序,但轉換按鈕並沒有真正起作用,它甚至沒有改變答案框的值。 我現在該怎么辦?

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Measurement Conversion</title>
</head>
<body>

<h1 align="center">
    Measurement Conversion
</h1>

  <div align="center"><center><table border="0">
    <tr>
      <input type="text" name="what" size="15">
    </tr>
    <tr>
      <td align="center">From:<br>
      <select name="unit" size="9" onChange="convert()">
        <option name="meter">meter</option>
        <option name="mile">mile</option>
        <option name="yard">yard</option>
      </select></td>
    </tr>
    <tr>
      <input type="button" onclick="convert()">Convert it now!</button></td>
    </tr>
    <tr>
      <input type="text" name="answer" title="answer" size="70" value="None"></td>
    </tr>
  </table>
  </center></div>

<script>
function convert() {
    // var FromVal, ToVal, FromName, ToName, v1;

    v1 = document.getElementByName("what").value;
    document.getElementByName("answer").value = v1;

    var unit = document.getElementByName("unit").name;


    if (unit == "yard") {
        var meter = "meter= " + 0.9144*document.getElementByName("what").value;
        var mile = "mile = " + 0.000568181818*document.getElementByName("what").value;
        document.getElementById("answer").value = meter + mile;
    }

    if (unit == "meter") {
        var yard = "yard = " + 1.0936133*document.getElementByName("what").value;
        var mile = "mile = " + 0.000621371192*document.getElementByName("what").value;
        // var meter = "m = " + 0.9144*document.getElementByName("what").value

        document.getElementById("answer").value = yard + mile;
    }

    if (unit == "mile") {
        var meter = "meter = " + 1609.344*document.getElementByName("what").value
        var yard = "yard = " + 1760*document.getElementByName("what").value

        document.getElementById("answer").value = meter + yard;
    }

}
</script>

</body>
</html>

我的convert()函數似乎有問題。

首先使用最基本的故障排除方法,然后來到這里並提出具體問題以幫助您解決問題如何。 添加alert("button Clicked"); 到函數的第一行,看看是否收到警報。 如果這樣做,請將警報移至變量語句之后並將其更改為alert("what = " + what + ", "answer = " + answer + ", unit = " + unit);並確保您得到什么你期望你的變量賦值。繼續這樣,當你遇到一個你似乎無法解決的特定問題時,回來。

沒有 getElementByName。 在您的輸入上添加屬性 id,然后改用 getElementById。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM