代码之家  ›  专栏  ›  技术社区  ›  HappyHands31

单击按钮时用JavaScript替换Div内容(onClick)——为什么在If语句中内容被错误的字符串替换?

  •  0
  • HappyHands31  · 技术社区  · 6 年前

    jsFiddle .

    如果 textarea 是空白的,内容应该用Javascript说“你必须告诉我一个笑话!”。

    相反,即使 文本区

    相关代码:

    HTML

    <div class="row"><!--third row -->
    
      <div class="col-2 joker">
          <img src="/joker.png"/>
          <p id="jokerDialogue">Tell me a joke</p>
      </div>
    
      <div class="col-2">
          <table>
    
          <tr>
          <td>Joke:</td>
          </tr>
    
          <tr>
          <td>
          <textarea id="jokeQuestion" type="string" min="1" max="24" size="24"> 
          </textarea>
          </td>
          </tr> 
    
          <tr>
          <td>
          <input id="submit-joke" type="button" value="submit" class="js-button" 
          onclick="joker()">
          </td>
          </tr>
    
          </table>
      </form>
      </div>
    
      <div class="col-8">             
      </div>
    
    </div>
    

    function joker() {
    
       let content = document.getElementById("jokeQuestion");
       if (content != "") {
          document.getElementById("jokerDialogue").innerHTML = "Was your joke funny?";
       }
       else if (content == "") {
          document.getElementById("jokerDialogue").innerHTML = "You must tell me a joke!";
       }
    }
    

    如您所见,我正在尝试创建一个变量 content 并说这是用户在 文本区 用身份证 jokeQuestion

    但即使在 所容纳之物 如果是空白,则 <p> 用身份证 "jokerDialogue" 还是要换成 "Was your joke funny?"

    我以为 if (content != "") 意思是“如果内容不是空的”-那么为什么函数返回“你的笑话有趣吗?”即使它是空的?

    1 回复  |  直到 6 年前
        1
  •  3
  •   Jack Bashford    6 年前

    你需要得到 value 属于 content :

    let content = document.getElementById("jokeQuestion").value;
    

    推荐文章