Simple JavaScript Checkbox Validation

前端 未结 11 1991
长情又很酷
长情又很酷 2020-12-10 03:56

I usually work with PHP so sadly don\'t have some basic JS principles down. This is all I want to accomplish--I\'ve seen many posts on this topic but they are usually beyon

相关标签:
11条回答
  • 2020-12-10 04:11
    var confirm=document.getElementById("confirm").value;
             if((confirm.checked==false)
             {
             alert("plz check the checkbox field");
             document.getElementbyId("confirm").focus();
             return false;
             }
    
    0 讨论(0)
  • 2020-12-10 04:15

    For now no jquery or php needed. Use just "required" HTML5 input attrbute like here

     <form>
            <p>
                <input class="form-control" type="text" name="email" />
                <input type="submit" value="ok" class="btn btn-success" name="submit" />
                <input type="hidden" name="action" value="0" />
            </p>
            <p><input type="checkbox" required name="terms">I have read and accept <a href="#">SOMETHING Terms and Conditions</a></p>
     </form>
    

    This will validate and prevent any submit before checkbox is opt in. Language independent solution because its generated by users web browser.

    0 讨论(0)
  • 2020-12-10 04:17

    You could use:

     if(!this.form.checkbox.checked)
    {
        alert('You must agree to the terms first.');
        return false;
    }
    

    (demo page).

    <input type="checkbox" name="checkbox" value="check"  />
    <input type="submit" name="email_submit" value="submit" onclick="if(!this.form.checkbox.checked){alert('You must agree to the terms first.');return false}"  />
    
    • Returning false from an inline event handler will prevent the default action from taking place (in this case, submitting the form).
    • ! is the Boolean NOT operator.
    • this is the submit button because it is the element the event handler is attached to.
    • .form is the form the submit button is in.
    • .checkbox is the control named "checkbox" in that form.
    • .checked is true if the checkbox is checked and false if the checkbox is unchecked.
    0 讨论(0)
  • 2020-12-10 04:17

    If your checkbox has an ID of 'checkbox':

     if(document.getElementById('checkbox').checked == true){ // code here }
    

    HTH

    0 讨论(0)
  • 2020-12-10 04:17

    Another Simple way is to create & invoke the function validate() when the form loads & when submit button is clicked. By using checked property we check whether the checkbox is selected or not. cbox[0] has an index 0 which is used to access the first value (i.e Male) with name="gender"

    You can do the following:

    function validate() {
      var cbox = document.forms["myForm"]["gender"];
      if (
        cbox[0].checked == false &&
        cbox[1].checked == false &&
        cbox[2].checked == false
      ) {
        alert("Please Select Gender");
        return false;
      } else {
        alert("Successfully Submited");
        return true;
      }
    }
    <form onload="return validate()" name="myForm">
      <input type="checkbox" name="gender" value="male"> Male
    
      <input type="checkbox" name="gender" value="female"> Female
    
      <input type="checkbox" name="gender" value="other"> Other <br>
    
      <input type="submit" name="submit" value="Submit" onclick="validate()">
    </form>

    Demo: CodePen

    0 讨论(0)
  • 2020-12-10 04:21

    You can do the following:

    <form action="/" onsubmit="if(document.getElementById('agree').checked) { return true; } else { alert('please agree'); return false; }">
        <input type="checkbox" name="checkbox" value="check" id="agree" />
        <input type="submit" name="email_submit" value="submit" />
    </form>​
    

    Here is a working demo - http://jsfiddle.net/Ccr2x/

    0 讨论(0)
提交回复
热议问题