【问题标题】:How to submit checkbox data-toggle value in form using PHP如何使用 PHP 在表单中提交复选框数据切换值
【发布时间】:2019-04-02 20:11:39
【问题描述】:

我正在提交一个带有数据切换属性的复选框输入类型的表单,并希望在我提交表单时发布该值。

我已经在输入标签内提交了带有 onchange() 函数的表单,但无法在提交的表单中发布 data-toggle 的值

<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

【问题讨论】:

  • 经典表单提交中不能直接post数据属性值。您必须使用 AJAX 提交表单。
  • 表单提交不发送“数据-”信息。您需要将这些信息放到另一个输入中,例如隐藏输入,或者您可以通过 Javascript 和 Ajax 发送这些信息

标签: php html


【解决方案1】:

我正在提交一个带有复选框输入类型的表单,它具有 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";
  //  } 
?>

【讨论】:

  • 感谢您的及时答复。单击复选框时页面未加载。我期待表单提交并发布 toggleValue 到 publish.php 并使用它执行一些操作。
  • @KwameAsante 页面不会加载,因为我们使用 ajax 进程发生在后台'
  • 谢谢先生,有没有办法让页面加载到publish.php?
  • 请阅读有关 Jquery ajax @KwameAsante 的内容,然后你就会理解这个概念
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-01-19
  • 1970-01-01
  • 2014-04-04
相关资源
最近更新 更多