点击按钮提示路径错误

时间:2019-04-04 04:00:15

标签: javascript html button input

我正在尝试制作一支笔,其中包含我正在学习的javascript练习。这是笔:https://codepen.io/ychalfari/pen/JVYoNW

在这种情况下,我试图从输入中接受一个数组,并运行一个函数,当您单击按钮时,该函数将对数组求和,结果应显示在下面。

当我单击按钮时,我得到一个错误:“错误的路径/boomboom/index.html”

或者什么也没有发生,只是重新加载页面,它使我到达页面顶部。

HTML

<form id="sum-arr-form"> 
  <div class="form-wrap" >
    <label for="arr-to-sum"> Enter an Array to sum: <input id="arr-to-sum" class ="med-input" type="text" value = ""> 
<button class="btn1" onclick ="sumOfArray()">submit</div> </form>
      <p>Result: <span id="demo"></span></p>

JavaScript

let inputArr = document.getElementById('arr-to-sum').value;
const add = (a,b) => a+b;
const sumOfArray = function() {
  let sum = inputArr.reduce(add);
  document.getElementById("demo").innerHTML = sum;};

2 个答案:

答案 0 :(得分:2)

您的代码中有一些错误。(没有类型的按钮标记将触发提交)

<button class="btn1" onclick ="sumOfArray()">submit

将此行更改为

<input type="button "class="btn1" onclick ="sumOfArray()" value="submit">

然后获取sumOfArray函数内部的输入值。 (在sumOfArray函数中添加以下两行)(上面waynelpu的答案)

 let inputArrStr = document.getElementById('arr-to-sum').value;
 let inputArr = JSON.parse(inputArrStr);

答案 1 :(得分:1)

从输入获取的值是字符串,如果要将其作为数组处理,则需要转换为js中的正确类型,请尝试

let inputArrStr = document.getElementById('arr-to-sum').value;
let inputArr = JSON.parse(inputArrStr);