输入年龄后显示消息但功能不起作用的Javascript程序

时间:2018-07-13 01:40:00

标签: javascript html function button submit

我正在尝试制作一个相当简单的站点/程序,该站点/程序从输入中接收数字,并使用按钮提交后,根据用户的输入向用户显示一条消息。我觉得好像应该很容易,但是出现了很多错误,例如:无法将属性“ innerHTML”设置为null。当我尝试修复这些错误(在表单上的onsubmit中添加return false ?、更改变量和语法等)时,我感觉好像更加卡住了。我不确定如何使其工作。

(忽略lastInn函数,因为这是我自己做的事情,只是为了测试我是否可以这样做。)

这是html代码:

<form onsubmit="return false" action="">
    <input type="number" name="inputAld" id="inputAld">

    <button type="submit" id="trykkAld" disabled="disabled" onsubmit="visAlder();">trykk på meg</button>

</form>

<p id="visHer"></p>

这是javscript文件:

var vis, trykk; 

function lastInn() {
var but;
but = document.querySelector("#trykkAld");
but.disabled = false;
}


trykk = document.getElementById("trykkAld");
vis = document.getElementById("visHer");

document.getElementById("visHer").innerHTML ="";

function visAlder() {
  var ald;
  ald = document.getElementById("inputAld").value;

  if (ald > 10) {
    vis.innerHTML = "Du er et ungt barn";
  }
  else if (ald < 10 && ald > 18) {
    vis.innerHTML = "Du er en tenåring";
  }
  else if (ald <= 18 && ald > 30) {
    vis.innerHTML = "Du er en ung voksen";
  }
  else if (ald <= 30 && ald > 60) {
    vis.innerHTML = "Du er voksen";
  }
  else if (ald <= 60 && ald < 70){
    vis.innerHTML = "Du begynner å dra på åra"
  }
  else if (ald <= 70) {
    vis.innerHTML = "Du er nok gammel";
  }
  else {
    vis.innerHTML = "Hva faen er du for noe?";
}

}

编辑:我在文档中固定了运算符。

2 个答案:

答案 0 :(得分:0)

您的代码在逻辑上看起来是错误的。

  else if (ald < 10 && ald > 18) {
    vis.innerHTML = "Du er en tenåring";
  }
  else if (ald <= 18 && ald > 30) {
    vis.innerHTML = "Du er en ung voksen";
  }
  else if (ald <= 30 && ald > 60) {
    vis.innerHTML = "Du er voksen";
  }

这些都不都是假的吗?

也请尝试将代码包装在文档中。

答案 1 :(得分:0)

我有工作的代码。 visAlder()函数结尾缺少括号。 我认为在表单标签和按钮标签中使用onsubmit都存在问题-它们可能彼此冲突。将您的按钮类型更改为type =“ button”,将您的按钮标记中的onsubmit更改为onclick,并且应该这样做。哦,还要从按钮标签中删除Disabled属性。