【问题标题】:Multiple checkbox submit php form with 1 click多个复选框一键提交php表单
【发布时间】:2019-02-09 19:43:47
【问题描述】:

有没有办法改善这种情况?找不到改进的方法..

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 次运行中构建一个您将发送到 data 的对象

标签: javascript jquery ajax forms


【解决方案1】:

试试这个方法,去掉循环

 $(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>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-06-06
    • 1970-01-01
    • 2021-06-25
    • 1970-01-01
    • 1970-01-01
    • 2013-01-05
    • 1970-01-01
    相关资源
    最近更新 更多