如何在不单击任何按钮的情况下将复选框值放入会话变量中?

How to put in checkboxes values into a session variable without any button clicks?

假设我有一个与此非常相似的代码

<form>
  <input type="checkbox" name="account1" value="1">
  <input type="checkbox" name="account2" value="2">
  <input type="checkbox" name="account3" value="3">
  <input type="checkbox" name="account4" value="4">


  <button type="submit">Delete</button>
</form>

现在我想在用户选中复选框而不单击 submit/delete 按钮后将复选框的值存储在 php 会话中。我计划为此使用 jquery/ajax,但我仍然无法完全理解它,因为我对 ajax 或 jquery.

还很陌生

再补充一下,过程是这样的.. 用户可以 select 他想检查的任何帐户。假设他在第 1 页检查了一个帐户。然后他转到另一个页面(分页),然后返回到第 1 页,选中的框仍会被选中。

您可以为此使用 onchange 事件侦听器。

实例here.

index.php

<form>
    <input type="checkbox" name="account1" value="1">
    <input type="checkbox" name="account2" value="2">
    <input type="checkbox" name="account3" value="3">
    <input type="checkbox" name="account4" value="4">


    <button type="submit">Delete</button>
  </form>

  <br/><strong>You can see the checkbox values in session below...</strong>
  <div id="newDiv">
  </div>

  <script>
  $('*[type="checkbox"]').on("change", function(){
    var check = 0;
    if(this.checked == true) check = 1;
    var value = this.value;
    $.post("session.php", { box : value, check : check }, function(data, status){
      if(status == "success"){
        $('#newDiv').load("values.php");
      }
    })
  })
  </script>

session.php

<?
session_start();
if(isset($_POST['box'])){
  //Separate session variable for each checkbox.
  $checkbox = "checkBox".$_POST['box'];
  $_SESSION[$checkbox] = $_POST['check'];
}
?>

values.php

<?
session_start();
print_r($_SESSION);
?>