【问题标题】:Form won't submit in jquery after radio button change单选按钮更改后,表单不会在 jquery 中提交
【发布时间】:2013-06-10 02:05:31
【问题描述】:

我有一个带有单选按钮的表单。我遍历单选按钮组以确定它们是否都被选中。如果不是,我不提交表格,否则提交表格。

问题是当它第一次失败时,返回并选择所有收音机,重新提交不提交表单。虽然我在那里添加了警报,但它正在提交部分但实际上并未提交。

$('#submit-fee').click(function(){
    var bValid = false;
    $('input[type="radio"]').each(function(index) {
        if($('input[name="'+$(this).attr('name')+'"]:checked').val() == "YES" || $('input[name="'+$(this).attr('name')+'"]:checked').val() == "NO"){
            bValid = true;
        }else{
            bValid = false;
            return false;
        }
    });
    if(!bValid){
        alert("Please make sure all questions are answered.");
        $('#rec-fee-form').submit(function () { 
            return false; 
        }); 
    }else{
        return true;
    }
});

【问题讨论】:

    标签: jquery forms


    【解决方案1】:

    试试这个 --

    $('#rec-fee-form').submit(function(){
        var bValid = false;
        $('input[type="radio"]').each(function(index) {
            if($('input[name="'+$(this).attr('name')+'"]:checked').val() == "YES" || $('input[name="'+$(this).attr('name')+'"]:checked').val() == "NO"){
                bValid = true;
            }else{
                bValid = false;
            }
        });
        if(!bValid){
            alert("Please make sure all questions are answered.");
            return false;
        }else{
            return true;
        }
    });
    

    【讨论】:

    • 不完全。这就是我以前在做的事情。表单仍然与此示例一起提交。此外,警报永远不会被击中。很奇怪
    • 好的,这确实有效。所以这个例子仍然需要在循环中将 bValid 变量设置为 false 之后在其中返回 false。
    • @user1515224 当您从each 返回时,您实际上是从.each() 而不是从您的提交处理程序返回
    猜你喜欢
    • 2016-06-24
    • 2023-03-29
    • 2015-10-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-02-18
    • 2014-11-08
    • 1970-01-01
    相关资源
    最近更新 更多