代码之家  ›  专栏  ›  技术社区  ›  Jenny Tran

文本区域长度的javascript验证表单检查

  •  1
  • Jenny Tran  · 技术社区  · 6 年前

    我正在使用JavaScript验证代码检查注释的空字段,每个注释文本区域至少50个字符。我从输入的文本中扣除50,以显示错误弹出消息中剩余的字符。但是,当我打开表单时,我没有输入任何内容,单击提交按钮,只有问题2弹出错误消息,作为“Q 2-50字符必需”。还剩50个字符。问题1应显示相同的错误消息,但没有。

    你能帮我吗?

    代码如下:

    function check() {
      var errorMessage = '';
    
      var Q1textLength = document.getElementById('textarea1').value.length;
      var Q1text = 50 - Q1textLength
      if (Q1textLength < 50)
        errorMessage += "Q#1 - 50 character required.  " + Q1text + " characters remaining. \n";
    
      var Q2textLength = document.getElementById('textarea2').value.length;
      var Q2text = 50 - Q2textLength
      if (Q2textLength < 50)
        errorMessage = "Q#2 - 50 character required.  " + Q2text + " characters remaining. \n";
      if (errorMessage) {
        alert(errorMessage);
        return false;
      }
      return true;
    }
    <form action="action.asp" name="frm1" method="Post" />
    <fieldset>
      <legend>Question 1</legend>
      <label for="Comment1">Comments:</label>
      <textarea rows="3" cols="85" name="Q1C" id="textarea1" placeholder="Write at least 50 characters" required /></textarea>
    </fieldset>
    
    <fieldset>
      <legend>Question 2</legend>
      <label for="Comment2">Comments:</label>
      <textarea rows="3" cols="85" name="Q2C" id="textarea2" placeholder="Write at least 50 characters" required /></textarea>
    </fieldset>
    
    <p class="submit"><input type="submit" onClick="return check()" value="Submit"></p>
    </form>
    2 回复  |  直到 6 年前
        1
  •  1
  •   Shubham    6 年前

    改变这个

    errorMessage = errorMessage+ "Q#2 - 50 character required.  " + Q2text + " characters remaining. \n";
    if(errorMessage)
    
        2
  •  3
  •   Zakaria Acharki    6 年前

    因为你要重写变量 errorMessage 在第二个问题中,用等号 = ,您应该使用 += 相反。

    注: 你有多余的斜杠 / 在你的 textarea 应删除的:

    <textarea .... placeholder="Write at least 50 characters" required /></textarea>
    ___________________________________________________________________^
    

    function check() {
      var errorMessage = '';
    
      var Q1textLength = document.getElementById('textarea1').value.length;
      var Q1text = 50 - Q1textLength
      if (Q1textLength < 50)
        errorMessage += "Q#1 - 50 character required.  " + Q1text + " characters remaining. \n";
    
      var Q2textLength = document.getElementById('textarea2').value.length;
      var Q2text = 50 - Q2textLength
      if (Q2textLength < 50)
        errorMessage += "Q#2 - 50 character required.  " + Q2text + " characters remaining. \n";
      if (errorMessage) {
        alert(errorMessage);
        return false;
      }
      return true;
    }
    <form action="action.asp" name="frm1" method="Post" />
    <fieldset>
      <legend>Question 1</legend>
      <label for="Comment1">Comments:</label>
      <textarea rows="3" cols="85" name="Q1C" id="textarea1" placeholder="Write at least 50 characters" required></textarea>
    </fieldset>
    
    <fieldset>
      <legend>Question 2</legend>
      <label for="Comment2">Comments:</label>
      <textarea rows="3" cols="85" name="Q2C" id="textarea2" placeholder="Write at least 50 characters" required></textarea>
    </fieldset>
    
    <p class="submit"><input type="submit" onClick="return check()" value="Submit"></p>
    </form>