如果勾选了复选框,则我的值将返回为是,但如果未选中则不返回值
这是我的HTML
<input id="contactMe" type="checkbox" name="MarketingOptIn" checked value="no">
这是javascript / jquery
<script>
$("#contactMe").click(function(){
if ($("#contactMe").is(':checked')){
$(this).val("yes");
} else {
$(this).val("no");
}
});
</script>
如果勾选并提交,我会得到“是”的值,但如果未获取,则提交我获得[$ MarketingOptIn]
答案 0 :(得分:2)
当您提交一个未选中复选框的表单时,输入集中的值将不 - 这是故意的。如果您有单选按钮,则会发生相同的情况。
因此,要么获得MarketingOptIn=yes
,要么根本没有获得MarketingOptIn
。
一个不错的解决方案是确保接收脚本知道它应该期望MarketingOptIn
,如果它不是假设MarketingOptIn=no
。
通常会看到类似的内容:
$MarketingOptIn = isset($_GET["MarketingOptIn"]) ? "yes" : "no";
正确的解决方案,例如模型驱动的方法,几乎可以解决这些问题,但却更加复杂。