Javascript 当所有字段(包括日期字段)都完成时,jquery启用提交按钮

Javascript 当所有字段(包括日期字段)都完成时,jquery启用提交按钮,javascript,jquery,html,Javascript,Jquery,Html,我有以下html: <form > <input type="text" name="username" id="username" value="" placeholder="User name" /> <input type="password" name="password" id="password" value="" placeholder="Password" /> <input type="password"

我有以下html:

<form >

    <input type="text" name="username" id="username" value="" placeholder="User name" />

    <input type="password" name="password" id="password" value="" placeholder="Password" />

    <input type="password" name="password" id="confirm_password" value="" placeholder="Confirm Password" />

    <input type="email" name="email" id="email" value="" placeholder="Email" />

    <input type="text" name="firstname" id="firstname" value="" placeholder="First name" />

    <input type="text" name="lastname" id="lastname" value="" placeholder="Last name" />

   <input type="date" name="date" id="date"  placeholder="date" />

     <ul class="actions align-center">
   <li><input type="submit" value="Register" id="register" disabled="disabled"/></li>
    </ul>

</form>
我可以在没有日期输入的情况下禁用按钮,然后启用按钮,但只要输入日期,按钮就不会启用。为什么会这样

编辑:它可以工作,但用户必须键入日期,但当用户仅通过单击选择日期时,如何启用它


这是因为您正在使用
keyup
事件,但当您单击日期时,这不是一个keyup事件。这可以通过将
keyup
更改为
change
来解决

$('forminput')。更改(function(){


这是因为您正在使用
keyup
事件,但当您单击日期时,这不是一个keyup事件。这可以通过将
keyup
更改为
change
来解决

$('forminput')。更改(function(){


似乎对我很好,请参见编辑。使用
$('form input')。在(“keyup change”,function()
)上,它将允许
keyup
change
触发函数。似乎对我很好,请参见编辑。使用
$('form input')。在(“keyup change”,function())上
,它将允许
键控
更改
触发该功能
(function() {
$('form input').keyup(function() {

    var empty = false;
    $('form  input').each(function() {
        if ($(this).val() == '') {
            empty = true;
        }
    });
    if (empty) {
        $('#register').attr('disabled', 'disabled');
    } else {
        $('#register').removeAttr('disabled');
    }
});
})()