我正在尝试进行民意调查,但我在设计时没有任何收音机。因此,我决定用不同的背景色突出显示选择,所有操作均通过jquery完成。

我将单选框的显示设置为无,以便不显示,并为每个框指定了唯一的ID。这是脚本。

<form action="v_poll.php" method="post">
<ul class="voting">
<li class="voting votetext"><input type="radio" name="voting" value="a1" style="display:none;" id="a1"><a onClick="vote('a1')"Answer 1</a></li>
<li class="voting votetext"><input type="radio" name="voting" value="a2" style="display:none;" id="a2"><a onClick="vote('a2')">Answer 2</a></li>
<li class="voting votetext"><input type="radio" name="voting" value="a3" style="display:none;" id="a3"><a onClick="vote('a3')">Answer 3</a></li>
<input type="hidden" value="1" name="id" />
<input type="submit" value="submit">
</ul>
</form>
<script type="text/javascript">
function vote(TheValue) {
GetElementById(TheValue).checked=true;
}
</script>


但是,当我用$ _POST ['voting']检查单选框的值时,它为空。不是分配给单选框的值。我做错了什么吗?

请帮忙。谢谢。

最佳答案

您也可以在没有javascript的情况下使用<label>for="id"代替<a>,例如:

<li class="voting votetext">
  <input type="radio" name="voting" value="a1" style="display:none;" id="a1">
  <label for="a1">Answer 1</label>
</li>


这不是什么新东西/ HTML5,也不是任何东西,任何浏览器IE6 +都可以,而且可能更旧。

07-26 01:37