Несколько флажков отправить форму PHP с 1 кликом - PullRequest
0 голосов
/ 09 февраля 2019

Есть ли способ улучшить это?Не могу найти способ улучшить ..

var $submit = $('#submit-form');
   $submit.off('click').on('click', function(e) {
       e.preventDefault();

       var checkedBOX = $('#checkboxes').find('input:checked');
       var servers = [];
       $.each(checkedBOX, function(k, v) {
           var v = $(v);

           servers.push(v.val());

           v.prop("checked", false);
       });

       var doneCount = 0;
       $.each(servers, function(key, server) {
           $.ajax({
           type: "POST",
           url: window.location.href,
           data: $('#form').serialize() + '&server=' + server + '&submit=',
           success: function (data) {
               doneCount++;

               if (doneCount >= servers.length) {
                   window.location.reload();
               }
           }
           })
       });
   });

Не могу понять, как лучше сделать это быстрее ... Может ли кто-нибудь помочь мне здесь?

1 Ответ

0 голосов
/ 09 февраля 2019

попробуйте так, удалите петлю

 $(document).on('submit','#submit-form',function(e){
           e.preventDefault();
    
           var checkedBOX = $('#checkboxes').find('input:checked');
           var servers = [];
            $("input:checkbox[name=checkbox]:checked").each(function(){
              servers.push($(this).val());
            });
  
              console.log(servers);
              
             $.ajax({
               type: "POST",
               url: window.location.href,
               data: $('#submit-form').serialize() + '&server=' + servers + '&submit=',
               success:function(data){
                  window.location.reload();
               }
             });
           
       });
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>


<form method="POST" id="submit-form">
<input type="text" name="name" placeholder="NAME"/>
<br/>
<input type="text" name="email" placeholder="EMAIL"/>
<br/>

<input type="checkbox" name="checkbox" value="1" />
<input type="checkbox" name="checkbox" value="2" />
<input type="checkbox" name="checkbox" value="3" />
<input type="checkbox" name="checkbox" value="4" />
<br/>
<button type="submit">SUBMIT</button>
</form>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...