PHP表单复选框始终返回值

时间:2013-01-11 18:07:50

标签: php checkbox

即使取消选中该复选框,它仍然会返回值。我通过Ajax请求传递表单并打印返回的值,但是检查或取消选中相同的结果。 Isset也无法正常工作。

<input type="checkbox" value="Agree" id="siteAgreement">

if(!isset($siteAgreement) || !$siteAgreement || $siteAgreement != "Agree"){
//////Unchecked
}

4 个答案:

答案 0 :(得分:3)

更改

siteAgreement = $("#siteAgreement").value;

这样的事情:

siteAgreement = $("#siteAgreement").is(':checked') ? $("#siteAgreement").val() : null;

但您还应添加name属性,以便关闭javascript的浏览器也可以使用您的网站。

此外,您可以使用一些自动从表单生成请求的代码(类似jquery.form),因此您无需在更改表单时更新javascript。

此处示例:http://jsfiddle.net/RhasK/

答案 1 :(得分:0)

这里试试这个:

 if(!isset($_POST['siteAgreement']) || !$_POST['siteAgreement'] || $_POST['siteAgreement'] != "Agree"){
 //////Unchecked
 }

除非您之前提取变量,否则不会设置$ siteAgreement。您可以使用$_POST['nameofelement']来访问数据。

答案 2 :(得分:0)

if($_POST["siteAgreement"] !== "Agree") {
//not checked
}

可以正常使用

答案 3 :(得分:0)

您只需要检查它是否已设置。

if(!isset($_POST['siteAgreement'])){
//then it is unchecked
}

另外,您没有为输入命名。你需要放......

<input type="checkbox" name="siteAgreement" value="Agree" id="siteAgreement">

您需要一个名称才能在PHP中访问它。