Jquery,如何在多个表单中启用表单按钮

Jquery,如何在多个表单中启用表单按钮,jquery,html,forms,Jquery,Html,Forms,我在一个html页面中有两个表单。当同一表单中的输入值不为空时,我尝试启用和禁用第一个表单的提交按钮。我使用jquery来实现这一点,但它只是禁用submit按钮,而不响应文本输入(按keyup键)。请看一下我的代码 Html代码: <form role="form" method="post" name="music" id="musicPost"> <div class="form-group">

我在一个html页面中有两个表单。当同一表单中的输入值不为空时,我尝试启用和禁用第一个表单的提交按钮。我使用jquery来实现这一点,但它只是禁用submit按钮,而不响应文本输入(按keyup键)。请看一下我的代码

Html代码:

            <form role="form" method="post" name="music" id="musicPost">
               <div class="form-group">
                    <label for="name">Artist Name</label>
                    <div class="input-group">
                            <div class="input-group-addon"><span class="glyphicon glyphicon-user"></span></div>
                            <input class="form-control" type="text" maxlength="25" id="name" name="txtname" placeholder="Enter artist name">
                    </div>
               </div>
              <div class="modal-footer" style="padding-left: 0px; padding-right: 0px;">
                <button type="submit" id="register" class="btn btn-success pull-right" value="post-music">
                    <span class="glyphicon glyphicon-circle-arrow-right"></span>
                    <span class="text">Post</span>
                </button>
                </div>
            </form>
        <form role="form" method="post" name="music1" id="musicPost1">
               <div class="form-group">
                    <label for="name">Artist Name</label>
                    <div class="input-group">
                            <div class="input-group-addon"><span class="glyphicon glyphicon-user"></span></div>
                            <input class="form-control" type="text" maxlength="25" id="name1" name="txtname1" placeholder="Enter artist name">
                    </div>
               </div>
              <div class="modal-footer" style="padding-left: 0px; padding-right: 0px;">
                <button type="submit" id="register1" class="btn btn-success pull-right" value="post-music">
                    <span class="glyphicon glyphicon-circle-arrow-right"></span>
                    <span class="text">Post</span>
                </button>
                </div>
            </form>

}))

您需要将
keyup
附加到输入元素,而不是表单元素

$('#musicpost input').keyup(function () {...} 
我还想知道,您是否需要只遍历发生keyup的表单的输入字段,而不是页面上的所有输入字段

var trigger = false;
$(this).find('input[type=text]').each(function () {
    if (!$(this).val()) {
        trigger = true;
    }
});
<>最后,考虑使用<代码>更改<代码>,而不是<代码> KyUp

var trigger = false;
$(this).find('input[type=text]').each(function () {
    if (!$(this).val()) {
        trigger = true;
    }
});