Проверка Codeigniter предотвращает показ мод начальной загрузки. Как я могу это исправить? - PullRequest
0 голосов
/ 02 июля 2018

Я использую codeigniter и имею некоторую проверку на стороне контроллера, приведенную ниже:

$this->form_validation->set_rules('customer_name', 'Customer name', 'trim|required');
    $this->form_validation->set_rules('phone', 'Phone', 'trim|required');
    $this->form_validation->set_rules('address', 'Address', 'trim|required');

У меня есть форма начальной загрузки, которая создает клиента, и кнопка, которая вызывает модальное окно, чтобы добавить дополнительную информацию о клиенте.

<form role="form" action="<?php base_url('customers/create') ?>" method="post" enctype="multipart/form-data">
              <div class="box-body">
                <?php echo validation_errors(); ?>
                   <div class="form-group">
                      <label for="customer_name">Customer</label>
                      <input type="text" class="form-control" id="customer_name" name="customer_name" placeholder="Enter Customer Name" autocomplete="off"/>
                    </div>

                    <div class="form-group">
                      <label for="contacts">Customer Contacts</label>
                       <div><button class="btn btn-primary" data-toggle="modal" data-target="#addModal">Add Value</button></div>


                    </div>    
    ...
    ...
     <div class="box-footer">
                    <button type="submit" class="btn btn-primary">Save</button>
                    <a href="<?php echo base_url('customers/') ?>" class="btn btn-warning">Back</a>
                  </div>
                </form>

Модал здесь:

<div class="modal fade" tabindex="-1" role="dialog" id="addModal">
  <div class="modal-dialog" role="document">
    <div class="modal-content">
      <div class="modal-header">
        <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>
        <h4 class="modal-title">Add Attribute Value</h4>
      </div>

      <form role="form" action="<?php echo base_url('customers/createValue') ?>" method="post" id="createForm">

        <div class="modal-body">
          <div class="form-group">
            <label for="brand_name">Attribute Value</label>
            <input type="text" class="form-control" id="attribute_value_name" name="attribute_value_name" placeholder="Enter attribute value" autocomplete="off">
          </div>
        </div>

        <div class="modal-footer">
          <input type="hidden" name="attribute_parent_id" id="attribute_parent_id" value="3">
          <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
          <button type="submit" class="btn btn-primary">Save changes</button>
        </div>

      </form>


    </div><!-- /.modal-content -->
  </div><!-- /.modal-dialog -->
</div><!-- /.modal -->

Когда я нажимаю модальную кнопку, модальная форма отображается, но сразу закрывается. и предупреждения проверки, отображаемые в основной форме клиента. Модальная кнопка запускает проверку основных форм.

Кстати, когда я использую модальные кнопки вне тегов формы, это работает без проблем. Но я хочу использовать модальные кнопки внутри формы. Как я могу это исправить?

Thanx.

1 Ответ

0 голосов
/ 02 июля 2018

Надеюсь, это поможет вам:

Просто измените ваш модальный вызов button на anchor

Заменить

<button class="btn btn-primary" data-toggle="modal" data-target="#addModal">Add Value</button>

с этим

<a class="btn btn-primary" data-toggle="modal" data-target="#addModal">Add Value</a>

Вся ваша форма должна быть такой;

<form role="form" action="<?php base_url('customers/create') ?>" method="post" enctype="multipart/form-data">
    <div class="box-body">
        <?php echo validation_errors(); ?>
           <div class="form-group">
              <label for="customer_name">Customer</label>
              <input type="text" class="form-control" id="customer_name" name="customer_name" placeholder="Enter Customer Name" autocomplete="off"/>
            </div>

            <div class="form-group">
              <label for="contacts">Customer Contacts</label>
               <div>
                <a class="btn btn-primary" data-toggle="modal" data-target="#addModal">Add Value</a></div>
            </div>    
    <div class="box-footer">
        <button type="submit" class="btn btn-primary">Save</button>
        <a href="<?php echo base_url('customers/') ?>" class="btn btn-warning">Back</a>
    </div>
</form>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...