我使用基本form
结构来模拟切换开关:
<form class="" action="" method="post">
<input id="hola" type="checkbox" name="probando" onchange="submit()" checked>
<label class="switch" for="hola" >
<span style='position:absolute;'></span>
</label>
</form>
使用这个小代码接收数据:
if (isset($_POST['probando'])) {
$valor_checkbox = $_POST['probando'];
}
问题是,如果我在复选框中保留checked
参数,则表单中不会收到任何内容。这是我第一次面对这个问题,我无法解决这个问题。我试过改变参数的位置,但没有任何反应。
答案 0 :(得分:0)
您不能将"submit()"
用作由您创建的函数,因为它是一个javascript保留字。请查看此链接以获取更多信息:javascript reserved words
您可以将Jquery与ajax一起使用,将值发送到同一表单并将其收费到div。您可以在那里检查复选框的值。这是我的工作片段:
function enviar(){
if($("#probando").is(':checked')){
$("#probando").val("1"); // is checked
}else{
$("#probando").val("0"); // is not checked
}
probando=$("#probando").val();
alert(probando);
$('#form, #fat, #test_check').submit(function(){
$.ajax({
type: "POST",
data: {'probando':probando},
success: function(data) {
$('#recibe_checkbox').html(data);
}
});
});
}
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form name="test_check" id="test_check" class="" action="" method="post">
<input id="probando" name="probando" type="checkbox" value="1" onclick="enviar()" checked>
<label class="switch" for="hola" >
<span style='position:absolute;'></span>
</label>
<div id="recibe_checkbox" name="recibe_checkbox">
<?php
if ($_POST['probando']=1) {
$valor_checkbox = $_POST['probando'];
echo $valor_checkbox;
}
?>
</div>
检查ajax,因为它是一个示例,您没有发布文件名,因此您必须将ajax修改为适合您需要的urll或action属性。
希望它有所帮助!
答案 1 :(得分:-1)
为您的复选框指定一个值,确切的值将出现在let context = CGContext(data: nil, width: Int(aspectFitSize.width), height: Int(aspectFitSize.height), bitsPerComponent: bitsPerComponent, bytesPerRow: bytesPerRow, space: colorSpace, bitmapInfo: bitmapInfo.rawValue)
context.scaleBy(x: -1, y: 1) // <-- this line causes the problem; it's fine without it, but I want to mirror the image...
context.draw(cgImage, in: CGRect.init(origin: .zero, size: aspectFitSize))
let image = context.makeImage()
变量中:
$_POST
如果选中该复选框,那么将导致PHP变量 <form class="" action="" method="post">
<input id="hola" type="checkbox" name="probando" value="1" onchange="submit()" checked>
<label class="switch" for="hola" >
<span style='position:absolute;'></span>
</label>
的值为1.
答案 2 :(得分:-1)
您没有收到任何内容的原因是因为未检查的复选框未发布到后端。
您目前默认情况下已选中(这是已检查的内容),并且当更改时(使用 onchange =“submit()”)进行POST,所以当您取消选中它没有要发布的数据。
如果您希望在未选中时发布值,则可以使用具有相同名称的隐藏字段,例如:
<input id="holaHidden" type="hidden" name="probando" value="no">
<input id="hola" type="checkbox" name="probando" onchange="submit()" checked>
请注意,这只适用于PHP,因为它会为给定名称发布最后一个值。