函数内部的简单“ if”语句不起作用

时间:2018-11-23 05:40:43

标签: javascript html function if-statement survey

我需要帮助。我正在做一个项目,并正在创建一个简单的调查。我拥有的代码应该可以工作。按下“是”按钮后,应在“ artscore”变量中加1。然后,当我按“提交”时,它应该检查变量是否大于1,并且是否显示“您是艺术家”,如果该变量不大于1,则应显示“您与众不同”。但是,每当我执行此操作并按提交时,即使我多次单击“是”,它也始终显示“您与众不同”。它应该可以,但是不能。我是一个完整的初学者,答案可能非常简单。我已经制作了多个原型,但我想弄清楚如何以这种方式进行调查。

谢谢您的帮助。

顺便说一句,这段代码的HTML部分被删除了。这个网站不允许我输入。这只是没有开始script标记的javascript部分。开头的HTML仅包含一些按钮,单击这些按钮可以运行两个功能。 yes按钮运行artFunction函数,submit按钮运行submitFunction函数。我也不知道为什么下面的代码分为两部分。感谢您提供有关为什么此代码无法正常工作的任何帮助。

var artscore = 0;


function artFunction(){

   artscore = artscore + 1;

}

function submitFunction(){

    if (artscore > 1){
     alert("You are an artist");
    } else {
    alert("You are something different");
    }
}

4 个答案:

答案 0 :(得分:1)

您缺少>=,使用的是>,这是因为>>首次单击艺术按钮时,它会显示“您与众不同” 消息,而不是 “你是一名艺术家”

var artscore = 0;


function artFunction(){
   //console.log(artscore);
   artscore = artscore + 1;

}

function submitFunction(){
    //console.log(artscore);
    if (artscore >= 1){
     alert("You are an artist");
    } else {
    alert("You are something different");
    }
}
<div id="wrapper">

  <h1>What type of field are you interested in?</h1> 
  <p>Take this questionnaire to find out!</p> 
  <h2> ART1 <h2> 
  <input id="button" type="submit" name="button" onclick="artFunction();" value="Yes"/>
  <button type="button">No</button>
  <input id="button" type="submit" name="button" onclick="submitFunction();" value="Submit"/>
  </div> 

答案 1 :(得分:1)

我不确定这是否可以解决问题,但是问题可能出在Submit函数的if语句中。您目前正在检查artscore是否大于1,但是在art函数中,您要向artscore添加1。相反,您应该检查artscore是否大于或等于1。希望有帮助!

答案 2 :(得分:0)

我建议对您的代码更具体,即

function submitFunction(){
    if (artscore >= 1){
        alert("You are an artist");
    } else if (artscore < 1){
        alert("You are something different");
    } else {
        alert("An error has occurred!");
    }
}

答案 3 :(得分:0)

更改

if (artscore > 1)

if (artscore >= 1)

,并检查您是否正在呼叫该功能。