将Javascript函数结果获取到html页面的问题[关闭]

问题描述 投票:-3回答:3

我目前正在为我的学校项目编写一些代码。我遇到了这个小“错误”,我不知道如何解决。我正在编写的代码应该从2种输入形式中获取输入值,然后如果(例如,职业)= Chef,则应将小时数(您从2nd输入中获得)乘以我数组中的薪水数字,然后乘以将其返回到我的html网站。由于某种原因,我无法使其正常运行。如果我能解决问题,将对您有所帮助。谢谢!

这是代码。 (kokk用我的语言表示厨师,不要介意)

function getInputValue() {
  var moneyarray = [0, 5.07, 3.80, 5.58, 3.81, 5.78, 3.80, 6.73, 6.04, 5.31, 3.99, 3.77, 4.48, 3.95]
  var inputValue = document.getElementById("hours").value
  var amet = document.getElementById("occupation")
  if var amet = kokk {
    var multiply = inputValue * moneyarray[1]
  }
  document.getElementById("sum").innerHTML = multiply;
}
<p>occupation</p>
<input type="text" placeholder="" id="occupation">
<p>hours</p>
<input type="number" placeholder="" id="hours">
<button type="button" onclick="getInputValue();">Get Value</button>
<p id="sum"></p>
javascript html arrays function var
3个回答
1
投票

此行有错误

if var amet = kokk {}

if语法应该有下一个视图

if (condition) {
  // result
}

请勿尝试在条件部分声明变量。

此外,您可以直接使用表单字段来改进代码,而无需在id事件中通过onsubmit来获取它们。

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="utf-8">
  <!-- This file has been downloaded from Bootsnipp.com. Enjoy! -->
  <title>Test</title>
  <meta name="viewport" content="width=device-width, initial-scale=1">
</head>

<body>

<form action="" onsubmit="getInputValue(event)">
  <p>occupation</p>
  <input type="text" placeholder="" name="occupation" />

  <p>hours</p>
  <input type="number" placeholder="" name="hours" />

  <button type="submit">Get Value</button>

  <p id="sum"> </p>
</form>

<script type="text/javascript">
  function getInputValue(evt) {
    evt.preventDefault();

    const { occupation, hours } = evt.target.elements;
    const moneyarray = [0, 5.07, 3.80, 5.58, 3.81, 5.78, 3.80, 6.73, 6.04, 5.31, 3.99, 3.77, 4.48, 3.95];

    let multiply = 0;

    if (occupation.value === 'chief' && !!hours.value) {
      multiply = hours.value * moneyarray[1]
    }
    
    document.getElementById("sum").innerHTML = multiply;
  }
</script>

</body>
</html>

-2
投票

您没有正确比较它。

您正在声明变量amet。

您缺少amet的.value。

只需进行以下更改:

function getInputValue(){

    var moneyarray = [0, 5.07, 3.80, 5.58, 3.81, 5.78, 3.80, 6.73, 6.04, 5.31, 3.99, 3.77, 4.48, 3.95]

    var inputValue= document.getElementById("hours").value;
    var amet = document.getElementById("occupation").value;

    if (amet == 'kokk') {
        var multiply = inputValue * moneyarray[1];
    }

    document.getElementById("sum").innerHTML = multiply;
}

-2
投票

您的JavaScript错误。

if var amet = kokk {
    var multiply = inputValue * moneyarray[1]
}

应该看起来像这样

if (amet === "kokk"){
    multiply = inputValue * moneyarray[1]
}

https://www.w3schools.com/js/js_if_else.asp这可能会对您有所帮助。

© www.soinside.com 2019 - 2024. All rights reserved.