簡體   English   中英

復選框 jquery 使用 ajax 發送數據並保存在 php 中未插入

[英]checkbox jquery using ajax to send data and save in php not inserting

我嘗試序列化而不是推送元素值,但我仍然通過在數據庫中插入每個值 9 次來獲得數組。 請任何人幫助我找出我的問題這就是我想要做的

HTML:

    <form name="chkl" id="chkl" method="post">  
                
<input type="checkbox" class="get_value" name="chk1[ ]" value="<?php echo $rows['ID'];?>">&nbsp<?php echo $rows['DESCRIPTION'];?></input><br>

<input type="submit" name="Submit" id="chk1" value="Submit"> 

JS:

<script>
 $('#chk1').click(function(){  
$('input[type=checkbox]').each( function() {
          $.post('fee_checked_save.php', $( ".get_value" ).serialize(), function(data){
          if(data == 1){
             $('#result').html(data);  
          }
      });
});
});
</script>

PHP:

<?php  
    
  $checkbox1 = $_POST['chk1'];
    if(isset($_POST['chk1']))  
    {  
    for ($i=0; $i<count ($checkbox1);$i++) {  
    $query = "INSERT INTO fee_checked(FEE_ID) VALUES ('".$checkbox1[$i]. "')";  
   $result = mysqli_query($conn, $query);
    }  
    echo "Record is inserted";  
    }  
    ?>  

任何幫助將不勝感激。 提前謝謝!

您正在發送所有復選框值,但是,我認為您只需要發送已選中的復選框,因此請使用:checked checked您使用$( ".get_value" ).serialize()這是針對所有 class 這就是您看到多重插入的原因而是將其更改為$(this).serialize() 我還添加了其他方式,而不是一個一個地發送復選框,您可以使用$(this).closest("form").serialize()發送整個表單數據。

演示代碼

 $('#chk1').click(function(e) { e.preventDefault() //send only input which is checked $('input[type=checkbox]:checked').each(function() { console.log($(this).serialize()) //use `this` here,, $.post('fee_checked_save.php', $(this).serialize(), function(data) { if (data == 1) { $('#result').html(data); } }); }); }); //prefer way: $('#chk1').click(function(e) { e.preventDefault() console.log("from second way.." + $(this).closest("form").serialize()) $.post('fee_checked_save.php', $(this).closest("form").serialize(), function(data) { //some codes }); });
 <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <form name="chkl" id="chkl" method="post"> <input type="checkbox" class="get_value" name="chk1[]" value="1">&nbsp; Soemthings.. <input type="checkbox" class="get_value" name="chk1[]" value="2">&nbsp; Soemthings.. <input type="submit" name="Submit" id="chk1" value="Submit"> </form>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM