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]);
那么它就会绑定表单。它之前没有造成这个问题。
答案 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