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