检查文本区域为空,并且在使用 jquery 提交时至少选中了一个复选框


Check textarea is empty and checkbox was selected at least one when submit using jquery

我使用codigniter开发了一个应用程序。鉴于此,我有这样的表格:

<div class="box-content">   
<?php
$properties = array('class' => 'form-horizontal', 'id' => 'myForm');
echo form_open("control_request/userRequest", $properties);
?>
<fieldset>
    <div class="control-group">
        <label class="control-label">Jenis Request :</label>
        <div class="controls" id="chekboxes">
            <label class="checkbox inline"><input type="checkbox" name="request[]" id="Login" value="Login" > Login </label>
            <label class="checkbox inline"><input type="checkbox" name="request[]" id="Printer" value="Printer"> Printer </label>
            <label class="checkbox inline"><input type="checkbox" name="request[]" id="Monitor" value="Monitor"> Monitor</label>
            <label class="checkbox inline"><input type="checkbox" name="request[]" id="Computer" value="Computer"> Computer</label>
            <label class="checkbox inline"><input type="checkbox" name="request[]" id="Network" value="Network"> Network</label>
            <label class="checkbox inline"><input type="checkbox" name="request[]" id="Lain-lain" value="Lain-lain" > Lain-lain</label>
        </div>
    </div>

    <div class="control-group hidden-phone">
        <label class="control-label" for="Complaint" Complaint : </label>
        <div class="controls">
            <textarea class="cleditor" name="Complaint" id="Complaint" rows="3"></textarea>
        </div>
    </div>
    <div class="form-actions">
        <button type="submit" class="btn btn-primary" id="submit"  >Submit</button>
        <button type="reset" class="btn">Cancel</button>
    </div>
</fieldset>
<?php echo form_close(); ?>   

现在,我使用 jquery 创建一些 javascript 来验证复选框和文本区域是否在提交之前符合条件。这是jquery的逻辑:

<script>
        $(document).ready(function() {
            $("#submit").click(function(e){
               if (chekbox not selected at least one ) {
                      <p> Please choose at least one </p>
                   }
               if textbox is empty {
                   <p> Pleaser fill the textbox </p>
                 }
               if (all qualified)
                  submit
            });
    </script>

我只想在提交之前检查所有元素是否合格。但如果不符合条件,就会出现这样的错误消息

()Checkbox1 ()Checkbox2 ()Checkbox3  ()Checkbox 4    <p>Please select one</p>
<textarea></textarea>   <p>Please describe your complaint</p>

我正在使用jquery 1.9.1,我会继续学习,并感谢您的帮助。吉斯菲德尔

你的问题不清楚..但它可能会帮助你你需要什么

$("textarea:empty").length == 0 // text area empty
$(".checkbox [type=checkbox]:checked").length >= 1 // at least one is selected
  1. 如果需要使文本区域成为必填项,请使用 requierd属性。您使用的 jQuery 验证插件将执行其余的验证技巧。
  2. 要检查是否至少选中了一个复选框,您可以为复选框添加一个规则:

    rules: {
            'request[]': {
                required: true,
                minlength:2
             }
    },
    

    您可以添加自定义规则:

    $.validator.addMethod("request[]", function(value, elem, param) {
        if($(".request[]:checked").length > 0){
           return true;
       }else {
           return false;
       }
    },"You must select at least one checkbox to continue");