JavaScript 不显示

标签 javascript html forms innerhtml

我是 JavaScript 新手。我创建了这个调用 JS 函数的 html 表单。该函数应该进行简单的计算并使用innerHTML 将总值返回到HTML,但由于某种原因它不起作用。 有人可以帮忙找出问题所在吗?谢谢!

<form id="inputInfo" name="inputInfo">

    <span> Insert a value </span><br/>
    <input type="number" id="value"> <br/>
    <button id="send" type="submit" class="button" onclick="calculate()">  <span> Send </span></button>

    <!--output from javascript-->
    <p id="output1"> </p>
    <p id="output2"> </p>
    <p id="output3"> </p>

</form>

  //** Function below is into a .js file **//

function calculate() {

var value = document.getElementById("value");
var commission;
var finalValue;
var message;

if(value <= 0){
    commission = 0;
    finalValue = 0;
    message = "* Value is wrong! *";

} else {
    commission = value < 250 ? 25 : (value * 0.1);
    finalValue = value + commission;
    message = "";

    }

document.getElementById("output1").value.innerHTML = finalValue;
document.getElementById("output2").value.innerHTML = commission;
document.getElementById("output3").innerHTML = message;
}

最佳答案

var value = document.getElementById("value");,您仅访问输入的 DOM。您需要执行 .value 才能实际获取输入的“值”:

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

对于输出部分:

document.getElementById("output1").value.innerHTML = FinalValue; document.getElementById("output2").value.innerHTML =commission; document.getElementById("output3").innerHTML = message;

删除 .value 并仅使用 .innerHTML

与上面一样,您使用 document.getElementById("output1") 访问 DIM,并设置 innerHTML 值。

完整代码示例:https://jsfiddle.net/u87a7e6b/

<form id="inputInfo" name="inputInfo">

  <span> Insert a value </span>
  <br/>
  <input type="number" id="value">
  <br/>
  <button id="send" type="button" class="button" onclick="calculate()"> <span> Send </span></button>

  <!--output from javascript-->
  <p id="output1"> </p>
  <p id="output2"> </p>
  <p id="output3"> </p>

</form>

<script>
function calculate() {
  var value = document.getElementById("value").value;
  var commission;
  var finalValue;
  var message;

  if (value <= 0) {
    commission = 0;
    finalValue = 0;
    message = "* Value is wrong! *";

  } else {
    commission = value < 250 ? 25 : (value * 0.1);
    finalValue = value + commission;
    message = "";
  }

  document.getElementById("output1").innerHTML = finalValue;
  document.getElementById("output2").innerHTML = commission;
  document.getElementById("output3").innerHTML = message;
}
</script>

关于JavaScript 不显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39969174/

相关文章:

javascript - 2 列布局的高度相等,但每行的高度不同

javascript - Django 和 HTML5 Video - Safari 上的源标签消失了

javascript - 使用 multer 无法上传图像

javascript - 使用jquery动态插入图像

jquery - 打开单独的下拉菜单。简化代码

javascript - 使用 javascript 输入时缩小项目列表

.net - 表单发布 mvc3 .net 后跳转到错误

javascript 函数中 HTML 表单标记内的 Javascript

javascript - 如何访问数组内部的数组?

javascript - 如何找到给定文本中第一个 backbone.js 标记之前的 url。我尝试了所有的可能性,但无法做到