Проверка Jquery не работает во всплывающем окне - PullRequest
0 голосов
/ 26 декабря 2018

Я использую CodeIgniter, у меня есть форма и поля Name, Email, and Mobile.Я использую проверку Jquery, но проверки не работают. Я отображаю поля во всплывающем окне.

Сначала я отображаю весь список в таблице, и есть кнопка действия, которая называется «Редактировать».Если пользователь нажал на кнопку редактирования, откроется всплывающее окно с соответствующими данными.Во всплывающем окне проверки не работают.Не могли бы вы помочь мне в этом вопросе?

Я использую этот код

<table id="list">
  <thead>
    <tr>
      <th>Sr. No.</th>
      <th>Name</th>
      <th>Email</th>
      <th>Mobile</th>
      <th>Action</th>
    </tr>
  </thead>
  <tbody>
    <?php 

        if($MembershipList)
        {
            $n = 1;
            foreach ($MembershipList as $rows)
            {?>
    <tr>

      <td><?php echo $n++;?></td>
      <td><?php echo $rows->name;?></td>
      <td><?php echo $rows->email;?></td>
      <td><?php echo $rows->mobileno;?></td>
      <td>
        <a href="javascript:void(0);" onclick="viewDetails(this)" data-id="<?php echo $rows->membership_id;?>">Edit</a></td>
    </tr>

    <!-- Modal -->
    <div class="confirmation_alert" id="popup_verify-<?php echo $rows->membership_id;?>" style="display: none;">
      <div class="opacity"></div>
      <div class="profile_content p_v_popup">
        <div class="profile_header clearfix">
          <div class="profile_name_pic"> Edit details!!! </div>
        </div>
        <div class="profile_body">
          <?php echo form_open('main_controller/editMember','class="editMember"'); ?>
          <div class="col-lg-12 col-md-12">
            <input type="text" name="name" value="<?php echo $rows->name;?>">
            <input type="email" name="email" value="<?php echo $rows->email;?>">
            <input type="text" name="mobileno" value="<?php echo $rows->mobileno;?>">
            <input type="submit" name="send" value="SUBMIT">

          </div>
          <?php echo form_close(); ?>
        </div>

      </div>
    </div>

    <?php }}?>
  </tbody>
</table>

Проверка JQuery

$('.editMember').each(function() { 
$(this).validate({
        // Specify the validation rules
        rules: {

          name:{
                 required: true
           },

           email:{
                 required: true,
                 email:true
               },
         mobileno:{
                 number:true,
                minlength:10,
                maxlength: 10
               }

        },
         submitHandler: function(form) {
                          form.submit();
            }

    });
});

Дайте мне знать, если потребуется всплывающее окно css.Это просто обычное всплывающее окно.

Ответы [ 3 ]

0 голосов
/ 26 декабря 2018

Используйте имя класса для формы вместо идентификатора

<?php echo form_open('main_controller/editMember','class="formClass"'); ?>

и сделайте проверку для класса как

$(".formClass").each(function() { 
    $(this).validate({
       // rules
    });
});
0 голосов
/ 26 декабря 2018

Вам необходимо изменить код jquery, как показано ниже.

$(document).ready(function(){  <-- Wrap function in document ready when DOM ready.
    $('.editMember').submit(function() {  <-- Call validation on form submit.
       $(this).validate({   <-- Use this for validate current open form.
            // Specify the validation rules
            rules: {

                name:{
                     required: true
                },

                email:{
                     required: true,
                     email:true
                },
                mobileno:{
                    number:true,
                    minlength:10,
                    maxlength: 10
                }
            },
            submitHandler: function(form) {
                form.submit();
            }

        });
    });
});

РЕДАКТИРОВАТЬ: Вам необходимо добавить required в поля ввода.

<input type="text" name="name" value="<?php echo $rows->name;?>" required>
<input type="email" name="email" value="<?php echo $rows->email;?>" required>
<input type="text" name="mobileno" value="<?php echo $rows->mobileno;?>" required>
0 голосов
/ 26 декабря 2018

Измените <input type="submit" name="send" value="SUBMIT"> на <button class="button" name="send">SUBMIT</button>.Ввод type="submit" отправляет форму и обновляет страницу перед проверкой в ​​вашем случае.

...