如何使用PHP提交表单中的复选框数据切换值

时间:2019-04-02 12:03:08

标签: php html

我正在提交具有复选框输入类型的表单,该表单具有data-toggle属性,并且想要在提交表单时发布该值。

我已经在input标签中使用onchange()函数提交了表单,但是无法在提交的表单中发布数据切换的值

<form id="myForm" name="myForm" action="publish.php" method="post">
<label class="switch">
   <input type="checkbox" name="toggle" onchange="document.getElementById('myForm').submit();" id="toggle_id" data-toggle="toggle" data-off="Disabled" data-on="Enabled">
   <span class="slider round"></span>
</label>
</form>


publish.php
<?php
  $mode=$_POST['toggle'];
  if ($mode=='true')  
  {
    echo "good";
  }

  else if ($mode=='false')  
  {
    echo "bad";
   } 
?>

我希望表单将数据切换的值发布到publish.php

1 个答案:

答案 0 :(得分:0)

我正在提交具有复选框输入类型的表单,该表单具有data-toggle属性,并且想在提交表单时发布该值

然后,您将需要使用jquery准备数据属性值,然后使用ajax将该值发送到您的php脚本。

<form id="myForm" name="myForm" action="publish.php" method="post">
<label class="switch">
   <input type="checkbox" name="toggle" id="toggle_id" data-toggle="toggle" data-off="Disabled" data-on="Enabled">
   <span class="slider round"></span>
</label>
</form>


<script type="text/javascript">
  $('document').ready(function(){

      $('#toggle_id').on('change',function(e){
        e.preventDefault();

        var toggleValue = $(this).data('toggle'); //value of data toggle

        $.ajax({
            type : "POST",
            data : {toggleValue:toggleValue},
            dataType : 'json',
            encode : true,
            url    : "publish.php",
            success : function(response){

              // do something with the response
            }


        });
      })



  });
</script>

publish.php

<?php

    $toggle = isset($_POST['toggleValue']) ? $_POST['toggleValue'] : null;


  // $mode=$_POST['toggle'];
  // if ($mode=='true')  
  // {
  //   echo "good";
  // }

  // else if ($mode=='false')  
  // {
  //   echo "bad";
  //  } 
?>