我有一些像这样的HTML
<form id="reportform" method='post'>
<input type='hidden' id='qid' name='qid' value="<?php echo $id ?>" />
<span><input type="radio" id="reporttp" name="reporttp" value="spam" /> spam</span>
<span><input type="radio" id="reporttp" name="reporttp" value="attack" /> attacking</span>
<span><input type="radio" id="reporttp" name="reporttp" value="nonsense" /> nonsense</span>
<span><input type="radio" id="reporttp" name="reporttp" value="other" /> other</span
<input type="image" name='Submit' value='Submit' src="../Images/buttons/reportButton.png"/>
</form>
当我尝试读取$('#reportform').submit(function() {
我将其读作$(reportttp).attr("value")
。然后我做了一些帖子(工作正常)。问题是,即使我选择其他收音机盒,我总是会向我发送“垃圾邮件”。如果我切换第一个和第二个单选按钮,生病就会“攻击”......你能告诉我出了什么问题吗?
答案 0 :(得分:6)
您不能拥有多个ID相同的元素
我假设您要阅读已检查的单选按钮的值?是这样,给他们所有独特的ID,然后做:
$("input[type='radio']:checked", "#reportform").val();
这将获取你reportform
内的所有单选按钮,抓取选中的按钮,然后检索其值。
答案 1 :(得分:2)
我的猜测是每个单选按钮的名称和ID都是相同的,导致浏览器任意做出奇怪的决定。
答案 2 :(得分:0)
除了亚当的回答,这也是无效的:
$(reportttp).attr("value")
应该是
$('input[name="reportttp"]').val()
我在此撤回我的陈述,因为亚当更新了他对更好的答案。
并删除重复的ID
答案 3 :(得分:0)
您应该可以执行$('#reportttp')。val()来获取所选值。