单选按钮无法选择

时间:2013-11-11 09:08:56

标签: php mysql radio-button

我的问题是我无法选择单选按钮。我正在使用php mysql并在while循环中为mysql_fetch_array函数创建单选按钮。这是代码:

<div class="alert alert-info">
     <label id="dataFlow">
          <?php if($detailPage == TRUE && $detailType == "poll"){ ?>
              <!-- survey part -->                                
              <h3><?php echo $pollData['pollContent']; ?></h3>
                   <form id="pollForm" method="post" action="">
                        <p>
                             <?php while($pollAnswerData = $pollAnswerDataSql->fetch_assoc()) {
                                                echo '<input type="radio" id="' . $pollAnswerData['pollquestionId'] . '" name="pollAnswer" />' . $pollAnswerData['pollquestionContent'] . '<br/>'; 
                                            } ?>      
                                        </p>
                       <input type="submit" name="submitButton" id="submitButton" value="Gönder"/>
                       </form>
                 <?php } else if($detailPage == TRUE && $detailType == "post") { ?>
                  <h4><?php echo $postData['postContent']; ?></h4>
             <?php } else { 
                  listFlowData();
             } ?>
      </label>                            
 </div>

这里有什么问题?

4 个答案:

答案 0 :(得分:1)

未选择输入元素(单选或复选框)但已选中。要在浏览器中显示处于已检查状态的元素,您必须在元素中添加一个布尔“checked”属性。

<input type="radio" checked="checked" id="..." name="..." value="..."/>

请注意,浏览器仅将已检查元素的值发送到服务器端脚本。要识别未选中的元素,您必须使用内部列表。

对于无线电输入,这意味着只有当用户点击其中一个元素(或使用属性检查)时,命名参数才会存在于表单请求中。

答案 1 :(得分:0)

似乎您缺少值属性

http://www.w3schools.com/html/html_forms.asp

<input type="radio" name="sex" value="male">

答案 2 :(得分:0)

您可以更改此行代码

echo '<input type="radio" id="' . $pollAnswerData['pollquestionId'] . '" name="pollAnswer" />' . $pollAnswerData['pollquestionContent'] . '<br/>';

到此。

echo '<input type="radio" id="' . $pollAnswerData['pollquestionId'] . '" name="pollAnswer" value="' . $pollAnswerData['pollquestionId'] . '"/>' . $pollAnswerData['pollquestionContent'] . '<br/>';

希望$ pollAnswerData ['pollquestionId']是一个唯一值。未选中单选框,因为您未在单选框中插入值。你应该插入值,这必须在每次循环重复时改变。

感谢。

答案 3 :(得分:0)

在Google Chrome中,您可能不会遇到任何问题。在Firefox中,有一个问题。我发现的问题是你的表格在标签内。 删除标签标签,它应该都很好。 甚至非唯一ID也不会在任何浏览器中受到影响(在chrome,Firefox和IE9上测试)

下面是我一直在测试的HTML。取消注释标签,你就会遇到问题。希望它有所帮助。

注意:每个单选按钮的ID都是故意保持相同的,以证明浏览器忽略了这一点。

<html>
<head></head>
<body>
<!-- <label id="dataFlow"> -->
<form id="pollForm" method="post" action="">
<input type = "radio" id="rdo1" name = "poll_radio" value = "dsfsr"/>111<br/>
<input type = "radio" id="rdo1" name = "poll_radio" value = "rsddf"/>222<br/>
<input type = "radio" id="rdo1" name = "poll_radio" value = "rsfdf"/>333<br/>
<input type = "radio" id="rdo1" name = "poll_radio" value = "rshdf"/>444<br/>
<input type="submit" name="submitButton" id="submitButton" value="Gender"/>
</form>
<!-- </label> -->
</body>
</html>