Javascript 单选按钮不提交
是我处理自定义样式单选按钮的方式,如果我单击一个单选按钮(Javascript 单选按钮不提交,javascript,php,jquery,html,forms,Javascript,Php,Jquery,Html,Forms,是我处理自定义样式单选按钮的方式,如果我单击一个单选按钮(#1)并提交表单,一切都很好-发送时没有错误(注意,我正在一个新窗口中提交表单),如果我选择另一个单选按钮(#2)并再次提交表单,发送给定的单选按钮时没有任何问题,但如果我随后单击上一次提交的单选按钮(#1),我会收到一个验证错误,即我没有选择任何单选按钮,即使通过使用firebug检查元素,我可以看到它已设置了checked=“checked” 为什么会这样?我可以做些什么来修复它?对于属性值,使用而不是.attr() $(".dist
#1
)并提交表单,一切都很好-发送时没有错误(注意,我正在一个新窗口中提交表单
),如果我选择另一个单选按钮(#2
)并再次提交表单,发送给定的单选按钮时没有任何问题,但如果我随后单击上一次提交的单选按钮(#1
),我会收到一个验证错误,即我没有选择任何单选按钮,即使通过使用firebug检查元素,我可以看到它已设置了checked=“checked”
为什么会这样?我可以做些什么来修复它?对于属性值,使用而不是.attr()
$(".dist_radio").click(function(event) {
event.preventDefault();
$(".dist_radio").removeClass('dist_on');
$(".dist_radio").children('input').attr('checked', false);
$(this).addClass('dist_on');
$(this).children('input').attr("checked", true);
});
从一张幻灯片到下一张幻灯片的转换由您的提交人处理,因此单选按钮需要做的是在单击时提交表单,记住:
$(".dist_radio").click(function(event) {
event.preventDefault();
$(".dist_radio").removeClass('dist_on');
$(".dist_radio").children('input').prop('checked', false);
$(this).addClass('dist_on');
$(this).children('input').prop("checked", true);
});
在这个问题上步履蹒跚,花了几个小时来解决它。这就是为什么:
使用
.prop()
而不是.attr()
@Anton当然很简单:)谢谢@安东将此作为回答,而不是评论。海报all ready评论说它有效。最好在这里发布内容作为答案。链接将来可能是404。提供链接仅供参考。
$('input[type=radio]').click(function() {
$(this).closest("form").submit();
});