如果用户勾选单个复选框,则如何获得“是”,如果用户未在HTML中勾选,则为“否”

时间:2013-01-15 11:02:45

标签: html checkbox

我在联系表格上写道,有一个复选框。我想要的是,如果用户勾选复选框,我应该得到YES,这是我得到的,没问题。我还想要的是,如果用户没有勾选复选框,我应该得到NO。这怎么可能只在HTML中?如果不是那么在Java脚本中?注意:我只想使用一个复选框。以下是更好理解的代码。

<input type="checkbox" name="Agreed to Privacy Policy:" value="Yes" />
Please tick this check box if you agree with our 
<a href="http://www.xyz.com" target="_blank"> 
Privacy Policy</a></td>

注意:现在,如果勾选复选框,我会收到测试电子邮件:  “同意隐私政策:是”我想要的是,如果用户没有勾选“同意隐私政策:否”复选框。任何帮助将受到强烈赞赏。

1 个答案:

答案 0 :(得分:1)

如果勾选了复选框,则<input type="checkbox">将仅通过<form>返回值。因此,如果没有勾选,您将永远不会从复选框中获得直接回复。

诀窍是检查是否已将任何值作为POST / GET数据的一部分传递。如果有,则勾选复选框...如果没有,则表示没有。

您不提供任何代码,甚至不提供您用于发送电子邮件的语言,但如果您使用的是C#(例如),您可以使用类似的内容......

(以下假设您将name属性更改为更合适的内容,例如chkAgree,因为在那里有空格对您没有帮助。

messageBody += "Agreed to Privacy Policy: ";
messageBody += (Request["chkAgreed"] != null ? "Yes" : "No");

<强>更新

继OP的评论之后,这里是上述代码的PHP版本。

这假定<form>正在使用method="post"。如果您使用method="get"(或根本没有method属性),则应将$_POST更改为$_GET

messageBody .= "Agreed to Privacy Policy: ";
messageBody .= (isset($_POST["chkAgreed"]) ? "Yes" : "No");