Jquery-启用/禁用表单提交

Jquery-启用/禁用表单提交,jquery,Jquery,我使用子类在单击提交父窗体时执行。 我会尝试手动启用/禁用按钮。 我试过这样做,但即使我以友好的方式删除了sub-class action submit,它仍然处于活动状态 HTML JS 然后,我尝试从html中删除子类,但在这种情况下,提交操作始终处于禁用状态 <form action="foo.php" method="post"> <div id="btn_src" class="bttn">CLICK ME</div> </form&g

我使用子类在单击提交父窗体时执行。 我会尝试手动启用/禁用按钮。 我试过这样做,但即使我以友好的方式删除了sub-class action submit,它仍然处于活动状态

HTML

JS

然后,我尝试从html中删除子类,但在这种情况下,提交操作始终处于禁用状态

<form action="foo.php" method="post">
    <div id="btn_src" class="bttn">CLICK ME</div>
</form>

点击我

我怎么做?谢谢

如果尚未完成,请将代码包装到文档中。 第二,你不能像以前那样使用类作为选择器。选择表单,然后给出操作、要查找的类和函数

$( document ).ready(function() {
$('form').on('click','.bttn.sub',function() {
    alert("Clicked");
    var form = $(this).closest('form');
    $(form).submit();
});

var disab_btn = function() {
    $('#btn_src').removeClass('sub').addClass('disabled');
    //alert($('#btn_src').attr('class'));
}

var enab_btn = function() {
    $('#btn_src').removeClass('disabled').addClass('sub');
    //alert($('#btn_src').attr('class'));
}

enab_btn();
});
作为备选方案,您只需按如下id选择按钮:

 $('#btn_src').on('click', function() {
    alert("Clicked");
    var form = $(this).closest('form');
    $(form).submit();
});

主要问题是,当您提交表单时,整个页面都会刷新,然后一切都从头开始。因此,您必须尝试使用Ajax发布数据,以避免刷新整个页面。

$('.bttn.sub')。在('click',function()上{
var btn=$(此),
形式=btn.最近的(“形式”);

如果(!btn.hasglass('disabled')){//Disable基于什么事件?什么条件?为什么要添加/删除类,而不是设置/取消设置
disabled
属性?根本不调用函数
disab\u btn
!请尝试“$('form')。在('click','.bttn.sub上,'function(){…”@DavidThomas-对于该事件禁用并不重要。问题是我使用disab_btn禁用btn提交仍然处于活动状态这当然是你的问题,但我想问一下你的问题的背景(这就是为什么我特别问“动态基于什么事件”)。使用类来指示启用/禁用状态是可以的,但我确实认为使用实际的
disabled
属性更有意义;但这是您的要求,由您的用例决定。尽管我调用disab_btn,但提交操作remains尽管我调用disab_btn,提交操作remains仍然保持活动状态,即使我调用disab_btn()问题是,当你提交表单时,整个页面会刷新,然后所有内容都会重置。你必须在ajax@PaoloRossi,我很高兴它对你有帮助
<form action="foo.php" method="post">
    <div id="btn_src" class="bttn">CLICK ME</div>
</form>
$( document ).ready(function() {
$('form').on('click','.bttn.sub',function() {
    alert("Clicked");
    var form = $(this).closest('form');
    $(form).submit();
});

var disab_btn = function() {
    $('#btn_src').removeClass('sub').addClass('disabled');
    //alert($('#btn_src').attr('class'));
}

var enab_btn = function() {
    $('#btn_src').removeClass('disabled').addClass('sub');
    //alert($('#btn_src').attr('class'));
}

enab_btn();
});
 $('#btn_src').on('click', function() {
    alert("Clicked");
    var form = $(this).closest('form');
    $(form).submit();
});