2016-04-08 21 views
3

Ben mysqli veritabanını php kodlarıyla güncellemek için bir formum var. Kodlar iyi ve formun veritabanı güncellemelerini gönderdiğimde ve bunun iyi çalıştığını gösterir. Ancak formu göndermeden önce bir onay bootstrap modal almak istiyorum. Bunun için aşağıdaki kodları kullandım. Burada modal açılır, ancak OK düğmesine basıldığında çalışmaz. Çalışan bir modal için, bootstrap modal açılır, ancak ok düğmesine tıkladığınızda, çalışmaz

<button class="btn btn-danger btn-lg" name="submit" value="submit" type="submit" data-condition="salaryinfo" data-toggle="modal-confirm" data-message="Are you sure?" data-title="Hi you!" data-target="#submit-confirm">Submit</button>   

      </form> 
      <!-- Modal --> 
<div class="modal fade" id="submit-confirm" 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"></h4> 
     </div> 
     <div class="modal-body"></div> 
     <div class="modal-footer"> 
     <button type="button" class="btn btn-default" data-dismiss="modal">Close</button> 
     <button type="button" class="btn btn-primary" data-confirm="modal">OK</button> 
     </div> 
    </div> 
    </div> 
</div>   


<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script> 
<script type="text/javascript" src="js/jquery-1.12.0.min.js"></script> 
<script type="text/javascript" src="js/jquery-ui.min.js"></script> 

<!-- For modal --> 
<script src="js/confirm-bootstrap.js"></script> 
<script type="text/javascript">  
function salaryinfo(){ 
      return true; 
     }; 

    $(document).ready(function(){ 
     //modal delete confirm 
     $('button[data-toggle="modal-confirm"]').click(function(event) { 
      event.preventDefault(); 
      var self = $(this); 
      var message = self.data('message'); 
      var title = self.data('title'); 
      var target = $(self.data('target')); 
      var condition = self.data('condition'); 
      if(target.length == 1) { 
       target.find('.modal-title').html(title); 
       target.find('.modal-body').html(message); 
       var showModal = true; 
       var fn = window[condition]; 
       if(typeof fn === 'function') { 
        showModal = fn(condition); 
       } 
       if(showModal) { 
        target.on('shown.bs.modal', function(e) { 
         target.find('button[data-confirm="modal"]').click(function(e){ 
          e.preventDefault(); 
          var parentForm = self.closest('form'); 
          console.log(parentForm.html()); 
          if(parentForm.length == 1) { 
           parentForm.submit(); 
          } 
         }); 
        }); 
        target.modal({ show: true }); 
       }; 
      }; 
     }); 
    });  
    </script> 

Herhangi bir öneri?

cevap

1

düğme değeri vardır çünkü kalıcı açılmadan önce zaten formunu gönderdiğinizi gönderin:

<button class="btn btn-danger btn-lg" name="submit" value="submit" type="submit" data-condition="salaryinfo" data-toggle="modal-confirm" data-message="Are you sure?" data-title="Hi you!" data-target="#submit-confirm">Submit</button>

Dolayısıyla, sadece yapmak için modal bir veri geçiş ile normal düğmesine basın.

Sonra da gönderme değerine sahip olmak için modalınızdaki onaylama düğmesini kullanın.

Ayrıca içinde kalıcı eklemeniz gerekir senin yerine Gönder düğmesinin Tamam düğmesine form gönderimini bağlayabilir <form> </form>

2

.

Submit düğmesinin üzerine tıklayın: modal'u açın. Ok butonuna
tıklayın: Formunuza <form id='my_form'> bir kimlik atama formu

gönderin.

sizin Ok düğmeye Bu komut çalışması için jQuery eklemeniz gereken

<script type='text/javascript'> 
    $(document).on('click', '#my_ok_button', function() { 
     $('#my_form').submit(); 
    })  
</script> 

için Ok düğmeye
<button id='my_ok_button' type="button" class="btn btn-primary" data-confirm="modal">OK</button>

Bind form gönderme bir kimlik atayın.

İlgili konular