Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/287.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 单选按钮不提交_Javascript_Php_Jquery_Html_Forms - Fatal编程技术网

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();
});