遇到html复选框问题

时间:2011-11-06 23:14:52

标签: php javascript html

我无法弄清楚为什么我的复选框总是评估为“是”,无论检查什么。

html:

<input type="checkbox" name="email" id="email" value="yes">Yes<br>
<input type="checkbox" name="email" id="email" value="no" checked >No<br>

正在访问的

var email = document.getElementById('email').value;

并且php只是$_GET - “电子邮件”的值,但它总是在设置为“是”时对其进行处理。

3 个答案:

答案 0 :(得分:6)

因为ID属性应该是唯一的,document.getElementById会返回第一个匹配的元素。

答案 1 :(得分:1)

如果您只想要一个是/否答案,那么您应该使用单选按钮,您是否故意使用了复选框?单选按钮代码看起来像你为复选框写的那样:

<强> PHP:

<?PHP
$selected_radio = $_POST['answer'];
print $selected_radio;
?>

<强> HTML:

<FORM name ="form1" method ="post" action ="radioButton.php">
 <Input type = 'Radio' Name ='answer' value= 'Yes'>Yes
 <Input type = 'Radio' Name ='answer' value= 'No'>No
 <Input type = "Submit" Name = "Submit1" VALUE = "Select a Radio Button">
</FORM>

如果你真的想使用复选框,那就给它们单独的ID并单独检查它们:

<强> HTML:

<input type="checkbox" name="email" id="email_yes" value="yes">Yes<br>
<input type="checkbox" name="email" id="email_no" value="no" checked >No<br>

<强> JS:

var email = (document.getElementById('email_yes').value == 1) 'yes' : 'no';

答案 2 :(得分:-1)

简单地说,因为它是一个复选框。单选按钮(type="radio")是一种类型,只能强制执行组中的一个框,并且可能是您想要的。