Javascript 当所有输入为空时,取消选择单选按钮并禁用提交

Javascript 当所有输入为空时,取消选择单选按钮并禁用提交,javascript,jquery,html,Javascript,Jquery,Html,我们有一个通过PHP连接到数据库的交互式地图。 因为我对javascript还很陌生,所以我有一些问题 我们有大约15个文本输入和一个下拉输入。 我只提供代码中有问题的部分 HTML <div class="nav nav-sidebar"> <form action="./action_page.php" method="post"> <ul class="dropdown-item" id="u3">

我们有一个通过PHP连接到数据库的交互式地图。 因为我对javascript还很陌生,所以我有一些问题

我们有大约15个文本输入和一个下拉输入。 我只提供代码中有问题的部分

HTML

     <div class="nav nav-sidebar">
       <form action="./action_page.php" method="post">
        <ul class="dropdown-item" id="u3">
          <div data-toggle="buttons">
            <label class ="btn btn-default" style="float:left;">
              <input type="radio" class="btn btn-default" name="politic" id="politic" value="2"> Trump
            </label>
            <label class ="btn btn-default" style="margin-bottom:10px; margin-right: 20%; float:right;">
              <input type="radio" class="btn btn-default" name="politic" id="politic" value="1"> Hillary
            </label>
          </div>
        </ul>
        <button input type="submit" id="submit-button" class="submit-button" value="Submit">Submit</button>
       </form>
       <button type="button" onclick="test()" class="clear-button">Reset</button>
     </div>
  • 如果至少有1个输入为emtpy,如何禁用提交按钮
  • My test()函数重置
    “poltics”
    的值,但按钮仍处于选中状态。我怎样才能解决这个问题

  • 我希望你不要得到有效的代码,更像是一个如何开始解决这个问题的指南,或者如果你想提供代码,我希望你能给出一些简短的解释

    我添加了3个输入字段的示例,这些字段将一直为空,直到所有字段都被填满。。对于收音机,我还添加了缺失的类删除

    希望有帮助,干杯

    编辑:现在试试。。 编辑2:现在试试:)

    函数checkallinputs(){
    var ch=假;
    $('form input[type=“text”]”)。每个(函数(el){
    if($(this).val()!='')ch=true;返回false;
    });
    if(ch){$('button[type=“submit”]').removeClass('disabled');返回true;}
    if(!ch){$('button[type=“submit”]').addClass('disabled');返回false;}
    }
    //在document.ready或第页的(function()())self-exe块中运行此操作
    检查输入();
    $('form input[type=“text”]')。在('change',function(){checkallinputs();})上;
    //禁用提交
    $('form').on('submit',function(){return checkallinputs();});
    //重置收音机==>删除类
    功能测试(){
    $('input[name=“politic”]').prop('checked',false);
    $('input[name=“politic”]”)。parent().removeClass('active');
    }
    
    输入1
    输入2
    投入3
    王牌
    希拉里
    提交
    
    重置
    如果至少有1个输入为emtpy,如何禁用提交按钮

    有几种方法可以让你做到这一点

    第一名:

    最简单的方法是将required属性添加到字段中,用户将无法提交表单,除非填写了所有必填字段。虽然这不是推荐的方法,因为它取决于浏览器,我相信有解决方法

    <input type="text" name="username" required>
    
  • 如果至少有1个输入为emtpy,如何禁用提交按钮
  • 您只需要跟踪输入的更改事件,如下所示。如果选中输入,则必须重新启用“提交”按钮。如果使用重置按钮,则需要禁用提交按钮。默认情况下可以禁用此按钮

  • My test()函数重置“poltics”的值,但按钮仍处于选中状态。我怎样才能解决这个问题
  • 当您提供代码时,两位政治家的单选按钮都被成功取消选择

    功能测试(){
    $('input[name=“politic”]').prop('checked',false);
    $(“#提交按钮”).prop('disabled',true);
    }
    $('input[type=“radio”]”)。在('change',函数(){
    //在这里,如果选择了收音机,我们将按钮设置为未禁用
    $(“#提交按钮”).prop('disabled',!$(this.prop('checked'));
    });
    
    
    
      王牌 希拉里
    提交 重置
    您是否尝试过将按钮的
    disabled
    属性设置为true?您是否有机会测试我的答案@sHamann?即使提交被禁用,表单也会被提交^try now..n现在我添加了返回0 | 1并钩住提交事件,因此,如果不是所有字段都由userHey填充,即使是字段上的ENTER键也会被阻止,我测试了收音机的调焦功能,效果非常好。问题的第一部分我遇到了问题。我理解你的代码,但它对我的代码不起作用。此外,我不希望每件事都填写输入,只有一个就足以在提交时发送表单。即使我的整个表格都填好了,你的功能也不起作用。我的表单有
    7
    1
    1
    它在id=“input1”上工作,但不适用于其他表单。单选按钮也不会改变提交按钮来启用。所以,我用你的代码和一些调整来处理我的代码。如果你修复了上面的代码,我将为你设置正确的答案!
    <input type="text" name="username" required>
    
    $(.'input-name').focus();