4

Я использую валидатор начальной загрузки для моей формы внутри модального. Валидатор сохраняется при последующем доступе к форме. Например, если выполняется следующая операцияBootstrap validator for modal не сбрасывает форму

  1. Форма доступа введите правильное значение и отправьте форму.
  2. Access форма снова цвет поля все еще остаются в зеленый цвет, так как я вступил в действительную запись в моей предыдущей форме представления

    <div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true"> 
    <div class="modal-dialog"> 
        <div class="modal-content"> 
        <div class="modal-header"> 
        <button type="button" class="close" data-dismiss="modal"><span aria-hidden="true">&times;</span><span class="sr-only">Close</span></button> 
        <h4 class="modal-title" id="myModalLabel">Add new Node</h4> 
        </div> 
        <div class="modal-body"> 
        <div class="modal-body"> 
         <form role="form" id="addNodeForm"> 
          <div class="form-group"> 
          <label for="nodename" class="control-label">Node Name</label> 
          <input type="text" name="nodename" class="form-control" id="nodename" required> 
          </div> 
    
         </form> 
        </div> 
        <!-- <div class="alert alert-success"> 
         <a href="#" class="close" data-dismiss="alert">&times;</a> 
         <div id="thanks"></div> 
        </div> --> 
    </div> 
    <div class="modal-footer"> 
        <button type="button" id="add-close" class="btn btn-default" data-dismiss="modal">Close</button> 
        <button type="button" id="add-save" class="btn btn-primary">Save changes</button> 
    </div> 
    </div> 
    

     $('#myModal').on('hidden.bs.modal', function(){ 
          $(this).removeData('bs.modal'); 
          $('#nodename').val(""); 
          $('#addNodeForm').bootstrapValidator('resetForm', true); 
         }); 
    
         $('#myModal').on('show.bs.modal', function() { 
          // $('#addNodeForm').bootstrapValidator('resetForm', true); 
          $(this).removeData('bs.modal'); 
          $('#addNodeForm').bootstrapValidator('resetForm', true); 
           $.ajax(
            { 
             url: "node/getnodelist", 
             type: "GET", 
             success:function(text) 
             { 
              alert(text); 
              nodelist = text; 
             }, 
             error: function(jqXHR, textStatus, errorThrown) 
             { 
              //if fails  
             } 
            }); 
          }); 
    
         $('#addNodeForm').bootstrapValidator({ 
          feedbackIcons: { 
           valid: 'glyphicon glyphicon-ok', 
           invalid: 'glyphicon glyphicon-remove', 
           validating: 'glyphicon glyphicon-refresh' 
          }, 
          fields: { 
           nodename: { 
            validators: { 
             notEmpty: { 
              message: 'Function name is required' 
             } 
            } 
           } 
          } 
         }); 
    

ответ

6

Try следующий код:

$('#contactform').bootstrapValidator('resetForm', true); 
9

hidden.bs.modal событие если модаль закончил быть скрытым от пользователя, поэтому форма будет скрыта, а BoostarpValidator не обрабатывает или не проверяет по умолчанию скрытые поля.

Так что для того, чтобы сбросить свою форму, когда модальный прячась, вы должны добавить:

excluded: ':disabled' 

в код JS.

Живой пример: http://jsfiddle.net/Arkni/ndpv76bk/

Ссылка:

EDIT

Ваша инициализация bootstrapValidator на форме должно быть как следующий кормовой эр добавив excluded вариант:

$('#addNodeForm').bootstrapValidator({ 
     feedbackIcons: { 
      valid: 'glyphicon glyphicon-ok', 
      invalid: 'glyphicon glyphicon-remove', 
      validating: 'glyphicon glyphicon-refresh' 
     }, 
     excluded: ':disabled', // <=== Adding the 'excluded' option 
     fields: { 
      nodename: { 
       validators: { 
        notEmpty: { 
         message: 'Function name is required' 
        } 
       } 
      } 
     } 
    }); 
+0

Я пытался добавить, но Я все еще мог видеть форму, имеющую старые проверки. поле все еще отображается зеленым цветом при повторном открытии –

+0

@SowmyaGanesan вы попробовали живой пример, который я вам предоставил? – Arkni

+0

А также, вы должны внимательно прочитать источник кода моего примера – Arkni

0

Попробуйте следующий код, на котором подстанцию ​​вы хотите сбросить форму ..

$('#addNodeForm').trigger("reset"); 
Смежные вопросы