我有一个简单的php联系人表单,但无法让单选按钮只选择一个选项(需要选择)。也不确定下拉框所需的脚本(不需要此选择)
//radio button individual or team required
if(trim($_POST['individual']) == '') {
$hasError = true;
} else {
$individual = trim($_POST['individual']);
}
//radio button individual or team required
if(trim($_POST['team']) == '') {
$hasError = true;
} else {
$team = trim($_POST['team']);
}
<input type="radio" name="individual" value="individual" id="individual" checked="checked">Individual</label>
<input type="radio" name="team" value="team" id="team" > Team</label>
<label for="shirt"> <strong>T-Shirt size (Optional)</strong></label>
<br />
<select name="Shirt Sizes" id="shirt">
<option value="small" name="small" id="small">Small</option>
<option value="medium" name="medium" id="medium" selected="selected">Medium</option>
<option value="large" name="large" id="large">Large</option>
<option value="xlarge" name="xlarge" id="xlarge">Extra Large</option>
</select>
任何帮助都会很棒。干杯
您需要将所有单选按钮命名为相同的名称,以便浏览器了解它们是分组的。
<input type="radio" name="team" value="individual" id="individual" checked="checked">Individual</label>
<input type="radio" name="team" value="team" id="team" > Team</label>
发布时,value
将以元素的变量名发送。
如果您希望浏览器只强制选择其中一个,则单选按钮必须具有相同的名称
<input type="radio" name="quantity" value="individual" id="individual" checked="checked">Individual</label>
<input type="radio" name="quantity" value="team" id="team" > Team</label>
然后在PHP中,您可以检查选择了哪个:
if(isset($_POST['quantity'])) {
if($_POST['quantity'] == 'individual') {
// individual
} elseif($_POST['quantity'] == 'team') {
// team
}
}
此外,我不确定这是否只是复制和粘贴的产物,但您在两个单选按钮之前都缺少打开标签标签。
编辑:这是另一件与您的问题无关的小事,但除非您有特定需求,否则您的<option>
不需要具有名称属性。值就可以了(它们也不需要id,除非你需要一种简单的方法来使用JS单独访问它们)。
您需要为同一组中的单选按钮赋予相同的"名称"属性:
<input type="radio" name="type" value="individual" id="individual" checked="checked">Individual</label>
<input type="radio" name="type" value="team" id="team" > Team</label>
这样,当你点击其中一个时,它将取消选择另一个。