2017-02-21 1 views
0

У меня есть форма, и я хотел бы поделиться скриншотом формы, чтобы объяснить этот вопрос лучше: - enter image description hereJquery форма проверки, где массив ввод текста, должен быть проверена на основе массива входного флажка

В форме есть пять смайлов, каждый из которых имеет один флажок и один входной текст. Ид, если вы выберете конкретный смайлик (установив флажок), то местоположение изображения будет сохранено в базе данных вместе с текстом, который вы помещаете в текстовое поле.

смайлик (вместе с флажком и текстового поля перечислены в HTML, как это: -

<div id="smiley_container"> 
    <?php for($i=1;$i<=5;$i++) 
      { ?> 
       <div class="form-group col-sm-12"> 
        <label class="col-sm-2">Smiley <?php echo $i;?><span class="required_span">*</span> 
        </label> 
        <div class="col-sm-1"> 
         <img src="<?php echo base_url();?>uploads/smiley/<?php echo $i;?>.png" style="width:40px;"/> 
        </div> 
        <div class="col-sm-1"> 
         <input type="checkbox" name="smileycheck[]" id="smileycheck_<?php echo $i;?>" value="<?php echo $i;?>" /> 
        </div> 
        <div class="col-sm-7"> 
         <input type="text" class="form-control" placeholder="Set name for the smiley" name="smileyname[]" id="smileyname_<?php echo $i;?>" /> 
        </div> 
      </div> 
    <?php } ?> 
</div> 

Теперь у меня был код подтверждения, как this-

$(function() { 
    // Initialize form validation on the registration form. 
    // It has the name attribute "registration" 
    $("form[name='myQstnForm']").validate({ 
     // Specify validation rules 
     rules: { 
      // The key name on the left side is the name attribute 
      // of an input field. Validation rules are defined 
      // on the right side 
      desc: "required",   
      type: "required", 
      "option[]": "required", 
      "smileyname[]": "required", 
     }, 
     // Specify validation error messages 
     messages: { 
      desc: "Please provide question text",   
      type: "Please select question type", 
      "option[]": "Please provide data", 
      "smileyname[]": "Please provide data", 
     }, 
     // Make sure the form is submitted to the destination defined 
     // in the "action" attribute of the form when valid 
     submitHandler: function(form) { 
      form.submit(); 
     } 
    }); 
}); 

Nowever, тем выше JQuery код хочет, чтобы все тексты параметров были заполнены. На самом деле, только те тексты должны быть необходимы для заполнения, чей флажок исправлен.

Как решить эту проблему ?

+0

JQuery Validate не работает так. Вы не можете поместить 'smileyname []' в качестве имени поля и ожидать, что он проверит весь массив полей. «Имя» может соответствовать только * одному * полю. – Sparky

+0

используйте этот флажок как общее название –

ответ

0

Используйте 5 Флажок общее название ....

пример кода для флажком

<form action="#" method="post"> 
<input type="checkbox" name="gender" value="Male">Male</input> 
<input type="checkbox" name="gender" value="Female">Female</input> 
<input type="submit" name="submit" value="Submit"/> 
</form> 
<?php 
if (isset($_POST['gender'])){ 
echo $_POST['gender']; // Displays value of checked checkbox. 
} 
?> 
Смежные вопросы