Javascript 表单在AngularJS中始终无效

Javascript 表单在AngularJS中始终无效,javascript,angularjs,Javascript,Angularjs,这看起来很琐碎,所以如果我错过了什么,我很抱歉,但我无法理解 我想启用在表单有效时使用AJAX发送数据的按钮,但该按钮始终处于禁用状态 看看: <form name="UserReg" novalidate> <div class="form-group"> <input type="text" name="user_name" data-ng-model="U

这看起来很琐碎,所以如果我错过了什么,我很抱歉,但我无法理解

我想启用在表单有效时使用AJAX发送数据的按钮,但该按钮始终处于禁用状态

看看:

<form name="UserReg" novalidate>

        <div class="form-group">
            <input type="text" name="user_name"
                                data-ng-model="UserName"
                                ng-maxlength=20
                                placeholder="Name"
                                required />

            <div data-ng-messages="UserReg.user_name.$error"
                 data-ng-show="UserReg.user_name.$touched">

                 <div data-ng-messages-include="angular_app/validation/form_messages.html"></div>

            </div>
        </div>


       <div class="form-group" style="padding-top:20px;">
            <button type="button" name="add_user"
                                    class="top-menu-button"
                                    data-ng-click="AddUser()"
                                    ng-disabled="UserReg.$invalid">
                <i class="fa fa-plus fa-lg padding-r-5"></i> Add User
            </button>
        </div>

</form>

添加用户

问题出在哪里?

首先,应将
ng maxlength
的值括在双引号中。 其次,由于在输入字段上有
required
属性,因此只有当输入字段有一些值时,表单才会生效(在其中键入一些内容&表单才会生效)


否则,如果没有必要,请从输入字段中删除
required
属性。

hmmm,我找到了解决方案。如您所见,我在那里有form_messages.html文件。我没有在其中处理“maxlength”,这导致了问题,当我添加带有ng message=“maxlength”的元素时,它现在可以工作了!事实上,“ng maxlength”周围缺少的引号似乎破坏了Angular中的某些内容,当测试添加它们时,使其正常工作。@pavon147如果对您有效,请接受答案。它没有。我只是将ng message=“maxlength”添加到我的form_messages.html文件中,没有做任何您提到的事情,但我投票支持了您的答案,因为它提供了有用的信息。@pavon147您所说的是错误的。将ng message=“maxlength”添加到form_messages.html只会显示验证消息&它不会使表单有效。谢谢你的投票。