1

我有一个简单的 php 联系表,但无法让单选按钮仅选择 1 个选项(需要选择)。也不确定下拉框所需的脚本(不需要此选择)

//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>

任何帮助都会很棒。干杯

4

3 回答 3

1

您需要将所有单选按钮命名为相同的名称,以便浏览器了解它们是分组的。

<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在元素的变量名称下发送。

于 2012-07-24T01:19:25.580 回答
1

如果您希望浏览器强制选择其中一个,单选按钮必须具有相同的名称

<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>s 不需要具有 name 属性。该值会起作用(并且它们也不需要 id ,除非您需要一种简单的方法来使用 JS 单独访问它们)。

于 2012-07-24T01:19:35.517 回答
0

您需要为同一组中的单选按钮提供相同的“名称”属性:

<input type="radio" name="type" value="individual" id="individual" checked="checked">Individual</label>
<input type="radio" name="type" value="team" id="team" > Team</label>

这样,当您单击一个时,它将取消选择另一个。

于 2012-07-24T01:19:46.813 回答