1

这是我的第一个问题,所以请耐心等待。

我使用 jquery-validate 和引导向导的组合。除了忽略选项外,一切正常。我需要使用它来包含隐藏的复选框。如果您只在忽略选项中添加任何内容,则整个引导向导将不再工作。但没有显示错误。

看我的小提琴:https ://jsfiddle.net/danzhtyn/1/

HTML:

<div class="container">
<div id="content">
    <form name="ad" method="post" action="" id="ad_form" role="form" enctype="multipart/form-data">
        <div id="rootwizard">
            <div class="navbar">
              <div class="navbar-inner">
                <ul style="display: inline-block;">
                  <li><a href="#tab1" data-toggle="tab">Test 1</a></li>
                  <li><a href="#tab2" data-toggle="tab">Test 2</a></li>
                </ul>
              </div>
            </div>
            <div id="bar" class="progress">
              <div class="progress-bar" role="progressbar" aria-valuenow="0" aria-valuemin="0" aria-valuemax="100" style="width: 0%;"></div>
            </div>
            <div class="tab-content">
              <div class="tab-pane" id="tab1">
                    <div class="form-group">
                      <label class="control-label required" for="ad_adtext">Anzeigentext</label>
                      <textarea id="ad_adtext" name="ad[adtext]" required="required" rows="15" class="form-control"></textarea>
                    </div>
              </div>
              <div class="tab-pane" id="tab2">
                    <div class="form-group">
                        <input type="checkbox" id="ad_categories_14" name="ad[categories][]" class="hidden" value="14" /> Computer
                        <input type="checkbox" id="ad_categories_14" name="ad[categories][]" class="hidden" value="15" /> Greets
                    </div>
              </div>
            </div>  
        </div>
    </form> 
</div>

JS:

        $(document).ready(function() {

    var $form = $("#ad_form"),
    $validator = $form.validate({
        ignore: ":disabled",
      rules: {
        "ad[adtext]": {
          required: true
        },
        "ad[categories][]": {
          required: true,
          minlength: 1
        },
      },
      messages: {
        "ad[adtext]": "Dies ist ein Pflichtfeld! Bitte geben Sie einen Wert an.",
        "ad[category][]": "Dies ist ein Pflichtfeld! Bitte wählen Sie mindestens eine Rubrik aus.",
      }
    });
  $('#rootwizard').bootstrapWizard({
    onNext: function(tab, navigation, index) {

      var $valid = $form.valid();
      if (!$valid) {
        $validator.focusInvalid();
        return false;
      }

    },
    onTabShow: function(tab, navigation, index) {

      var $total = navigation.find('li').length;
      var $current = index + 1;
      var $percent = ($current / $total) * 100;
      $('#rootwizard .progress-bar').css({
        width: $percent + '%'
      });

    },
    onTabChange: function(tab, navigation, index) {

      var $valid = $form.valid();
      if (!$valid) {
        $validator.focusInvalid();
        return false;
      }

    }
  });
});

删除ignore: ":disabled",一切正常。

有什么建议么?

4

0 回答 0