自动与表单进行角度绑定

时间:2016-02-02 17:07:02

标签: html angularjs forms angularjs-scope

jsfiddle demo:https://jsfiddle.net/zpufky7u/1/

我在网站上有很多表单,工作正常,但突然有角度将所有表单绑定到class="ng-pristine ng-valid"

这是一个设置还是什么可以导致角度自动绑定表单?

我正在使用角度版本:角度#1.4.7

以下是我的表格,因为你可以看到表格中没有模型

<form name="app_bundle_notification_type" method="post">

    <div class="row">
        <div class="col-sm-8">
            <div class="form-group">
                <div class="checkbox">
                    <label class="required">
                        <input type="checkbox" id="app_bundle_notification_type_isNewsletter" name="app_bundle_notification_type[isNewsletter]" required="required" value="1" checked="checked">
                        Yes, I would like to receive email newsletter for new deals, coupons and news.
                    </label>

                </div>


            </div>

        </div>
    </div>

    <div class="row m-y-1">
        <div class="col-sm-12">
            <button type="submit" class="btn btn-success">Save</button>
        </div>
    </div>

    <input type="hidden" id="app_bundle_notification_type__token" name="app_bundle_notification_type[_token]" class="form-control" value="b-_qAF6LHFy_GtPlsFG3iguhVXfGsj38TXm22Ke8j0k">
</form>

Angular app.js

define(['angular'], function() {

    var app = angular.module("myApp", []);

    app.init = function () {
        angular.bootstrap(document, [app.name]);
    };

    return app;
});

到目前为止,我发现了这个问题,如果你做angular.bootstrap(document, [app.name]);那么它就会绑定表单。它之前没有造成这个问题。

2 个答案:

答案 0 :(得分:0)

假设您在表单周围使用表单标记,Angular会自动将这些类添加到表单中的每个ng-model

这使您可以更加控制表单中的元素,以便在提交之前执行您希望表单捕获或执行的任何验证或逻辑。

大部分内容都列在文档here

答案 1 :(得分:0)

https://docs.angularjs.org/api/ng/directive/form

  

出于这个原因, Angular会阻止默认操作(表单提交   到服务器),除非<form>元素具有操作属性   指定。

新版本接受空action="",请检查https://github.com/angular/angular.js/pull/3776

上的发布版本