首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >JavaScript和HTML Button onclick()不工作

JavaScript和HTML Button onclick()不工作
EN

Stack Overflow用户
提问于 2018-07-22 00:22:37
回答 1查看 41关注 0票数 -1

所以我花了一个小时的时间试图弄清楚为什么当我点击按钮时什么也没有发生……通常情况下,用户应输入一个数字,如果是平方数,则会将所有数字相加。但是我的代码什么也没做!请帮帮我!

代码语言:javascript
复制
function analyzeNumber() {
  var input = document.getElementById("user_input").value;

  alert("User value" + input);

  document.getElementById("answer_display").innerHTML = input;

  if ((validateNumber(input)) == true) {
    if (Math.sqrt(input) % 1 === 0) {
      var total = sumDigits(input);
      return document.getElementById("answer_display").innerHTML = total;
    } else {
      return document.getElementById("answer_display").innerHTML = " ";
      alert("It is not a square number!");
    }
  }
}

function validateNumber(b) {
  if ((typeof.b == "number") && (b > -1)) {
    return true;
  } else {
    return false;
    alert("Please enter numeric value!");
  }
}

function sumDigits(a) {
  var str = input.toString();
  var sum = 0;
  for (i = 0; i < num.length; i++) {
    sum += parseInt(str.charAt(i));
  }
  return sum;
}
代码语言:javascript
复制
<head>
  <title> SOEN 287 Assignment 2 </title>
  <script type="text/javascript" src="Q1.js">
  </script>
</head>

<body action="" method="post">
  <fieldset>

    <h1> Question 1</h1>
    <form action="" id="sqrForm">
      <p>
        <label>Please enter a number: <input type = "text" id = "user_input" /></label>
        <input id="btton" type="submit" value="Try it!" onclick="return analyzeNumber()" />
      </p>
      <p>
        <label id="answer"> Answer: </label>
        <label id="answer_display"> </label>
      </p>
    </form>
  </fieldset>





</body>

EN

回答 1

Stack Overflow用户

发布于 2018-07-22 00:41:00

给未来一点提示:不要使用alert进行调试,在浏览器中使用console.log()console.info()和开发工具(按F12即可打开)。

您需要将typeof.b更改为typeof btypeof(b)

代码语言:javascript
复制
function analyzeNumber() {
  var input = document.getElementById("user_input").value;

  alert("User value" + input);

  document.getElementById("answer_display").innerHTML = input;

  if ((validateNumber(input)) == true) {
    if (Math.sqrt(input) % 1 === 0) {
      var total = sumDigits(input);
      return document.getElementById("answer_display").innerHTML = total;
    } else {
      return document.getElementById("answer_display").innerHTML = " ";
      alert("It is not a square number!");
    }
  }
}

function validateNumber(b) {
  if ((typeof b == "number") && (b > -1)) {
    return true;
  } else {
    return false;
    alert("Please enter numeric value!");
  }
}

function sumDigits(a) {
  var str = input.toString();
  var sum = 0;
  for (i = 0; i < num.length; i++) {
    sum += parseInt(str.charAt(i));
  }
  return sum;
}
代码语言:javascript
复制
<head>
  <title> SOEN 287 Assignment 2 </title>
  <script type="text/javascript" src="Q1.js">
  </script>
</head>

<body action="" method="post">
  <fieldset>

    <h1> Question 1</h1>
    <form action="" id="sqrForm">
      <p>
        <label>Please enter a number: <input type = "text" id = "user_input" /></label>
        <input id="btton" type="submit" value="Try it!" onclick="return analyzeNumber()" />
      </p>
      <p>
        <label id="answer"> Answer: </label>
        <label id="answer_display"> </label>
      </p>
    </form>
  </fieldset>





</body>

需要注意的是:

当您单击该按钮以触发脚本时,form将提交,并且您的输出将“消失”。要防止出现这种情况,请将inputtypesubmit更改为button

代码语言:javascript
复制
function analyzeNumber() {
  var input = document.getElementById("user_input").value;

  alert("User value" + input);

  document.getElementById("answer_display").innerHTML = input;

  if ((validateNumber(input)) == true) {
    if (Math.sqrt(input) % 1 === 0) {
      var total = sumDigits(input);
      return document.getElementById("answer_display").innerHTML = total;
    } else {
      return document.getElementById("answer_display").innerHTML = " ";
      alert("It is not a square number!");
    }
  }
}

function validateNumber(b) {
  if ((typeof b == "number") && (b > -1)) {
    return true;
  } else {
    return false;
    alert("Please enter numeric value!");
  }
}

function sumDigits(a) {
  var str = input.toString();
  var sum = 0;
  for (i = 0; i < num.length; i++) {
    sum += parseInt(str.charAt(i));
  }
  return sum;
}
代码语言:javascript
复制
<head>
  <title> SOEN 287 Assignment 2 </title>
  <script type="text/javascript" src="Q1.js">
  </script>
</head>

<body action="" method="post">
  <fieldset>

    <h1> Question 1</h1>
    <form action="" id="sqrForm">
      <p>
        <label>Please enter a number: <input type = "text" id = "user_input" /></label>
        <input id="btton" type="button" value="Try it!" onclick="return analyzeNumber()" />
      </p>
      <p>
        <label id="answer"> Answer: </label>
        <label id="answer_display"> </label>
      </p>
    </form>
  </fieldset>
</body>

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51458015

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档