转换为英尺,厘米或码的英寸数

时间:2018-09-18 00:52:13

标签: javascript html html5 javascript-objects innerhtml

说明如下:

  1. 要求用户输入以英寸为单位的数量(在文本框中)。

  2. 具有一个带有以下选项的选择框:英尺,厘米,码。

  3. 如果他们选择英寸,则计算转换为1英寸= 0.0833英尺。对于厘米:1英寸= 2.54厘米。对于码,1英寸= 0.02778。

  4. 由于用户可能会输入一个小数(例如3.99),因此请务必使用parseFloat选项进行解析。

  5. 使用参考:查找toFixed()函数,并确保结果输出到小数点后2位。

  6. 输出到名为results的div部分。使用innerHTML命令进行输出。

这是我当前拥有的代码

function convertCurrency(r) {
  document.getElementById("cnvrtMoney").innerHTML = "output";

  if (dropdown == "feetConversion".parseFloat(r)) {
    Convert = Convert / 0.0833;
  } else if (dropdown == "centimetersConversion".parseFloat(r)) {
    Convert = Convert / 2.54;
  } else if (dropdown == "yardsConversion".parseFloat(r)) {
    Convert = Convert / 0.02778;
  }

  Convert = Convert.toFixed(2);

  var resultsString = "The amount would be" + Convert;
  document.getElementById('results').innerHTML = resultsString;
}
body {
  background-color: gray;
}

#heading {
  background-color: lightgray;
  text-align: center;
}

#formConverter {
  background-color: white;
  text-align: center;
  text-justify: auto;
}

#EndResults {
  background-color: darkgray;
  text-align: center;
}
<html>

<head>
  <meta charset="utf-8">
  <title>Assignment 01: Currency Converter</title>
</head>

<body>
  <div id="heading">
    <h1> Currency Converter </h1>
    <img src="CurrencyConverter.jpg" alt="Currency Converter Banner" width="600" height="200">
  </div>
  <div id="formConverter">
    <form action="CurrencyConverter.php" method="get">
      Enter Quantity (In Inches): <input type="text" name="inputInches" /><br> Select Conversion:
      <select name="dropdown">
        <option value="feetConversion">Feet </option>
        <option value="centimetersConversion">Centimeters </option>
        <option value="yardsConversion">Yards </option>
      </select>
    </form>
  </div>
  <div id="results">
  </div>
</body>

</html>

我试图让它在用户单击具有所需的确切转换的下拉按钮时显示。如果有人可以提供帮助,我将不胜感激。

4 个答案:

答案 0 :(得分:1)

首先,这是JavaScript代码,您不需要<form>
其次,要通过ID访问元素,您必须设置ID属性而不是NAME。
第三,数学是错误的。
第四...

最好显示工作代码。这是事件处理程序:

function convertCurrency() {

    var dropdown = document.getElementById("dropdown").value;
    var inputInches = document.getElementById("inputInches").value;

    switch (dropdown){
    case "feetConversion":
        Convert = inputInches * 0.0833;
        break;
    case "centimetersConversion":
        Convert = inputInches * 2.54;
        break;
    case "yardsConversion":
        Convert = inputInches * 0.02778;
        break;
    }

    var resultsString = "The amount would be: " + Convert;
    document.getElementById("results").innerHTML = resultsString;
}

这是HTML布局:

<input type="text" id="inputInches"/><br>
Select Conversion:
<select id="dropdown" onchange="convertCurrency()">
    <option value="" disabled="disabled" selected="selected"></option>
    <option value="feetConversion">Feet </option>
    <option value="centimetersConversion">Centimeters </option>
    <option value="yardsConversion">Yards </option>
</select>
<div id="results"></div>

http://jsfiddle.net/ArtyomShegeda/xbj5pf62/13/

答案 1 :(得分:1)

  1. 您永远不会致电convertCurrency。您需要一个调用它的事件监听器。您可以在表单中放置一个“转换”按钮,然后在他们单击该按钮时调用它。

  2. if (dropdown == "feetConversion".parseFloat(r))这样的代码没有任何意义。 parseFloat()是全局函数,它不是字符串的方法。您只想将dropdown与字符串进行比较。 parseFloat应该用于在函数开始时设置Convert变量。

  3. 您不需要actionmethod的形式都可以通过JavaScript而不是服务器进行处理。

  4. 您永远不会设置dropdown的值。您需要从下拉列表中获取该值。我添加了一个ID,并使用document.getElementById("selectConversion").value

  5. 没有元素cnvrtMoney。我不确定document.getElementById("cnvrtMoney").innerHTML = "output";的意义。我已将其删除。

  6. 您的转换都错了,您应该在相乘时相乘。

function convertCurrency(r) {
  var dropdown = document.getElementById("selectConversion").value;
  var Convert = parseFloat(r);
  if (dropdown == "feetConversion") {
    Convert = Convert / 12;
  } else if (dropdown == "centimetersConversion") {
    Convert = Convert * 2.54;
  } else if (dropdown == "yardsConversion") {
    Convert = Convert / 36;
  }

  Convert = Convert.toFixed(2);

  var resultsString = "The amount would be " + Convert;
  document.getElementById('results').innerHTML = resultsString;
}

document.getElementById("convertButton").addEventListener("click", function() {
  convertCurrency(document.getElementById("inputInches").value);
});
body {
  background-color: gray;
}

#heading {
  background-color: lightgray;
  text-align: center;
}

#formConverter {
  background-color: white;
  text-align: center;
  text-justify: auto;
}

#EndResults {
  background-color: darkgray;
  text-align: center;
}
<html>

<head>
  <meta charset="utf-8">
  <title>Assignment 01: Currency Converter</title>
</head>

<body>
  <div id="heading">
    <h1> Currency Converter </h1>
    <img src="CurrencyConverter.jpg" alt="Currency Converter Banner" width="600" height="200">
  </div>
  <div id="formConverter">
    <form>
      Enter Quantity (In Inches): <input type="text" name="inputInches" id="inputInches" /><br> Select Conversion:
      <select name="dropdown" id="selectConversion">
        <option value="feetConversion">Feet </option>
        <option value="centimetersConversion">Centimeters </option>
        <option value="yardsConversion">Yards </option>
      </select>
      <br>
      <input type="button" value="Convert" id="convertButton">
    </form>
  </div>
  <div id="results">
  </div>
</body>

</html>

答案 2 :(得分:0)

好,我必须重写整个内容,但这是

function convertCurrency(r) {
	let c = document.getElementById('q').value;
	let v = document.getElementById('c').value;
  
  
  switch(v){
    case "feet":
      result = c / 0.0833;
    break;
    case "cent":
    	result = c / 2.54;
    break;
    case "yard":
    	result = c /0.02778;
    break;
  }
  
  result = result.toFixed(2);

  var resultsString = "The amount would be " + result;
  document.getElementById('results').innerHTML = resultsString;
}
body {
        background-color: gray;
        }
#heading {
    background-color: lightgray;
    text-align: center;
    }
#formConverter{
    background-color: white;
    text-align: center;
    text-justify:auto;
    }
#results{
    background-color:darkgray;
    text-align: center;
}
<div id="heading">
        <h1> Currency Converter </h1>
        <img src="CurrencyConverter.jpg" alt="Currency Converter Banner" width="600" height="200">
    </div>
    <div id="formConverter">
        <p>
          Enter Quantity (in inches):
          <input type="number" id="q" name="q">
        </p>
        <p>
          Select conversion: 
          <select id="c" name="c">
            <option value="feet">Feet</option>
            <option value="cent">Centimeters</option>
            <option value="yard">Yards</option>
          </select> 
        </p>
        <button onclick="convertCurrency()">
          Convert
        </button>
    </div>
    <div id="results">
      
    </div>

答案 3 :(得分:0)

这里需要修复很多,但是将script标记的内容更改为以下内容应该可以:

df_ideal <- data.frame (ID=1:3, Week_6=c(23,24,NA), Week_7=c(25,26,23), 
                        Week_8=c(27,NA,27), Week_9=c(NA,26,28))

df_ideal
  ID Week_6 Week_7 Week_8 Week_9
1  1     23     25     27     NA
2  2     24     26     NA     26
3  3     NA     23     27     28

请注意,您选择的比例因子需要乘法运算,因此转换不正确