Javascript jQuery-撤消防止默认设置

Javascript jQuery-撤消防止默认设置,javascript,jquery,forms,preventdefault,unbind,Javascript,Jquery,Forms,Preventdefault,Unbind,我有多个复选框,其中一个必须被选中。 第一次单击submit时,一切都正常运行,“标志”为true,preventDefault()正在工作 但如果“flag”为false,“unbind”不起作用 此外,如果未填写其他必填字段,则不应提交表格 <form action="submit/submitPref.php" method="post" onSubmit="return myvalidate()"> <div class="section mt">

我有多个复选框,其中一个必须被选中。 第一次单击submit时,一切都正常运行,“标志”为true,preventDefault()正在工作

但如果“flag”为false,“unbind”不起作用

此外,如果未填写其他必填字段,则不应提交表格

<form action="submit/submitPref.php" method="post" onSubmit="return myvalidate()">
        <div class="section mt">
            <p class="my_comp">My Compensation Package can be</p>
            <div class="clearfix"> </div>
        </div>
        <div class="clearfix"> </div>
        <div class="section pre_btm compn">
            <div class="col-xs-6 pr-none half pl0 mrgrht">
            <p>Salary Only per Year</p>
            <input name="salOnlyPY" type="checkbox" class="chk txtrht" value="1">
            </div>
            <div class="col-xs-6 pr-none half pl0 mrgrht">
                <p>Salary Only per Hour</p>
                <input name="salOnlyPH" type="checkbox" class="chk txtrht" value="1">
            </div>
            <div class="col-xs-6 pr-none half pl0 mrgrht">
                <p>Salary with Bonus</p>
                <input name="salWithBonus" type="checkbox" class="chk txtrht" value="1" />
            </div>
            <div class="col-xs-6 pr-none half pl0 mrgrht">
                <p>Commission Only</p>
                <input name="commOnly" type="checkbox" class="chk txtrht" value="1">
            </div>
            <div class="col-xs-6 pr-none half pl0 mrgrht">
                <p>Salary & Commission</p>
                <input name="salNcomm" type="checkbox" class="chk txtrht" value="1">
            </div>
            <div class="clearfix"> </div>
        </div>

        <!--THE FORM ALSO HAS OTHER MANDATORY FIELDS-->
    </form>

我的薪酬待遇可以

年薪

每小时工资

带奖金的工资

佣金

薪金及佣金

$(文档).ready(函数(){ 函数myvalidate(){ flag=true; $('.txtrht:checked')。每个(函数(){ flag=false; }); 国际单项体育联合会(旗){ $('.my_comp').addClass('required'); $(“表格”)。提交(功能(e){ e、 预防默认值(); }); } 其他的 { if($('.my_comp').hasClass('required')) {$('.my_comp').removeClass('required');} $(“表格”)。提交(功能(e){ e、 预防默认值(); $(this).unbind('submit').submit(); }); } } });
看起来你不需要解开束缚。尝试更改
$(this).unbind('submit').submit()
只需
$(this.submit()

从何处调用此函数
myvalidate
?你能提供html部分吗well@AmanRawat,返回false不工作,代替函数(e)。 $(document).ready(function(){ function myvalidate() { flag=true; $('.txtrht:checked').each(function(){ flag=false; }); if(flag){ $('.my_comp').addClass('required'); $("form").submit(function(e){ e.preventDefault(); }); } else { if($('.my_comp').hasClass('required')) { $('.my_comp').removeClass('required'); } $("form").submit(function(e){ e.preventDefault(); $(this).unbind('submit').submit(); }); } } });