Javascript 如何在JS中连接多个函数?

Javascript 如何在JS中连接多个函数?,javascript,jquery,Javascript,Jquery,我需要提交按钮只有在所有字段都已填写/选中时才处于活动状态 我看了几个例子,但不知道怎么做 $(文档).ready(函数() { $('.envia').prop('disabled',true); $('#matricula')。on('change',function() { $('#envia').prop('disabled',!$(this.val()); }).触发(“变更”); }); $(文档).ready(函数() { $('.envia').prop('disabled',

我需要提交按钮只有在所有字段都已填写/选中时才处于活动状态

我看了几个例子,但不知道怎么做

$(文档).ready(函数()
{
$('.envia').prop('disabled',true);
$('#matricula')。on('change',function()
{
$('#envia').prop('disabled',!$(this.val());
}).触发(“变更”);
});
$(文档).ready(函数()
{
$('.envia').prop('disabled',true);
$('#peca')。on('change',function()
{
$('#envia').prop('disabled',!$(this.val());
}).触发(“变更”);
});
$(文档).ready(函数()
{
$('.envia').prop('disabled',true);
$('#quilometros').keyup(函数()
{
$('#envia').prop('disabled',!$(this.val());
}).触发(“变更”);
});
$(文档).ready(函数()
{
$('.envia').prop('disabled',true);
$(“#数据”).keyup(函数()
{
$('#envia').prop('disabled',!$(this.val());
}).触发(“变更”);
});

母体1
母体2
山核桃1
山核桃2

您遇到的问题是根据单个字段设置禁用,而不检查所有其他字段的状态

您可以对所有控件使用一个事件处理程序,但每次还需要检查所有控件

$(function(){
    // pseudo selector `:input` will match all form controls
    var $inputs = $('#form-id :input').on('change input',validate);

    function validate(){
       var inValid = $inputs.filter(function(){ 
               return !this.value;
           }).length;
        $('#envia').prop('disabled', inValid );
    }
    // also call function on page load
    validate();

});
这里我使用
filter()
检查未设置值的元素集合的长度

这有助于您:


window.onload=乐趣;
函数fun(){
var matr=$(“#matricula”).val();
var peca=$(“#peca”).val();
var txt1=$(“#数据”).val();
var txt2=$(“#quilometros”).val();
如果(材料长度==0 | | peca.length==0 | | txt1.length==0 | | txt2.length==0)
$(“envia”).prop(“disabled”,true);
其他的
$(“envia”).prop(“disabled”,false);
}
母体1
母体2
山核桃1
山核桃2

创建一个“validition”函数,检查元素的值是否与原始值不同,如果所有元素都改变了,则启用该按钮。然后在事件处理程序中为所有元素等调用该函数。为什么
onload
而不是documentready?和
oninput
按钮?为什么要用内联事件处理程序替换正确的事件处理程序?@nnnn我可以修复它。