提问人:Aron Foster 提问时间:4/8/2017 最后编辑:CommunityAron Foster 更新时间:4/8/2017 访问量:97
在符合 XHTML 1.1 标准的同时使用 AngularJS 引用表单的正确方法?
Proper way to reference a form with AngularJS while conforming to XHTML 1.1 standards?
问:
.NET 正在从我在母版页中定义的元素中删除该属性:name
form
<form
name="aspnetForm"
runat="server"
onsubmit="if (typeof(_spFormOnSubmitWrapper) != 'undefined') {return _spFormOnSubmitWrapper();} else {return true;}"
ng-model-options="{updateOn: 'default blur','debounce':{'default':250,'blur':0}}">
呈现为:
<form
method="post"
action="...the current url..."
onsubmit="javascript:return WebForm_OnSubmit();"
id="aspnetForm"
ng-model-options="{updateOn:'default blur','debounce':{'default':250,'blur':0}}"
class="ng-pristine ng-invalid ng-invalid-required ng-valid-date"> == $0
从 W3 和 Microsoft 来看,该属性似乎在 XHTML 1.0 中被正式弃用,而在 1.1 中不允许,我们应该改用该属性。但是,AngularJS 使用该属性在当前范围内发布表单。我想使用 AngularJS 检查表单的有效性,但不知道如何了解表单。我已经在我的控制器中尝试了这个建议代码的一些变体,但没有成功。我还尝试将clientidmode设置为static,但这似乎不会影响标签。name
id
name
ng-disabled="!aspnetForm.$valid"
$scope
name
答:
1赞
Matthew Green
4/8/2017
#1
表单的范围名称也可以使用属性 进行设置。您可以在源代码中看到它设置名称的位置。ng-form='aspnetForm'
评论
0赞
Aron Foster
4/11/2017
现在我收到一个错误,因为我有 ,它有这个问题:stackoverflow.com/a/20893935/2596509。思潮?<form... ng-form='aspnetForm'></form>
0赞
Matthew Green
4/11/2017
任何使用像答案提到的 div 都不起作用的原因吗?
0赞
Aron Foster
4/11/2017
我需要提交功能。<form>
0赞
Aron Foster
4/11/2017
如果我这样做,我会得到一大堆错误,目前“控制......类型为'ScriptManager'的必须放在表单标记中”。我将暂时不接受您的答案,直到我们弄清楚如何让 Angular 识别我的表单标签。<div>
0赞
Matthew Green
4/11/2017
然后你可能到了需要扔掉一些东西的地步。你可以改用 Angular 的表单提交选项,或者使用 HTML5 而不是 XHTML 1.1,或者使用 .NET 表单验证而不是 Angular。至于如何在示波器上获取表格的实际问题,这个答案是正确的,不幸的是,这是我能看到的唯一其他选项,可以为您做到这一点。
评论