我正在尝试进行民意调查,但我在设计时没有任何收音机。因此,我决定用不同的背景色突出显示选择,所有操作均通过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 +都可以,而且可能更旧。