我无法弄清楚为什么我的复选框总是评估为“是”,无论检查什么。
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
- “电子邮件”的值,但它总是在设置为“是”时对其进行处理。
答案 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"
)是一种类型,只能强制执行组中的一个框,并且可能是您想要的。