即使未选中该复选框,它仍会返回值。我通过 Ajax 请求传递表单并打印返回的值,但检查或未检查的结果相同。Isset 也无法正常工作。
<input type="checkbox" value="Agree" id="siteAgreement">
if(!isset($siteAgreement) || !$siteAgreement || $siteAgreement != "Agree"){
//////Unchecked
}
改变
siteAgreement = $("#siteAgreement").value;
像这样:
siteAgreement = $("#siteAgreement").is(':checked') ? $("#siteAgreement").val() : null;
但是您还应该添加名称属性,以便关闭 javascript 的浏览器也可以使用您的站点。
您还可以使用一些从表单自动生成请求的代码(例如jquery.form),因此您不必在更改表单时更新 javascript。
这里的例子:http: //jsfiddle.net/RhasK/
在这里试试这个:
if(!isset($_POST['siteAgreement']) || !$_POST['siteAgreement'] || $_POST['siteAgreement'] != "Agree"){
//////Unchecked
}
除非您之前提取了变量,否则不会设置 $siteAgreement。您可以使用$_POST['nameofelement']
来访问数据。
if($_POST["siteAgreement"] !== "Agree") {
//not checked
}
会正常工作
您只需要检查它是否已设置。
if(!isset($_POST['siteAgreement'])){
//then it is unchecked
}
另外,您没有给输入命名。你需要放...
<input type="checkbox" name="siteAgreement" value="Agree" id="siteAgreement">
您需要一个名称才能在 PHP 中访问它。