我正在使用AngularJS开发dotnetnuke 7模块。这是我在View.ascx中的代码:
<script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.3.14/angular.min.js"></script>
<h2>Validation Example</h2>
<form ng-app="myApp" ng-controller="validateCtrl"
name="myForm" novalidate>
<p>Username:<br>
<input type="text" name="user" ng-model="user" required>
<span style="color:red" ng-show="myForm.user.$dirty && myForm.user.$invalid">
<span ng-show="myForm.user.$error.required">Username is required.</span>
</span>
</p>
<p>Email:<br>
<input type="email" name="email" ng-model="email" required>
<span style="color:red" ng-show="myForm.email.$dirty && myForm.email.$invalid">
<span ng-show="myForm.email.$error.required">Email is required.</span>
<span ng-show="myForm.email.$error.email">Invalid email address.</span>
</span>
</p>
<p>
<input type="submit"
ng-disabled="myForm.user.$dirty && myForm.user.$invalid ||
myForm.email.$dirty && myForm.email.$invalid">
</p>
</form>
<script>
var app = angular.module('myApp', []);
app.controller('validateCtrl', function ($scope) {
$scope.user = 'John Doe';
$scope.email = '[email protected]';
});
</script>
该代码是从W3School复制的,但是AngularJS似乎运行不正常。这是我的视图的屏幕截图:
我尝试了一个AngularSJ的简单示例,它的运行效果很好:
<div ng-app="" ng-init="firstName='John'">
<p>Name: <input type="text" ng-model="firstName"></p>
<p>You wrote: {{ firstName }}</p>
</div>
为什么我的第一段代码不起作用?我的模块中是否有关于“ form”标签的问题?
在DNN / ASP.NET Webforms中运行时,表单标记当然是一个问题。我在DNNHero.com上做了一个有关将Angular应用程序构建为DNN模块的教程。
两点建议:
<div id="userForm" ng-controller="validateCtrl" ng-init="init(<%=this.ModuleId%>)">
<script type="text/javascript"> angular.element(document).ready(function () { var moduleContainer = document.getElementById('userForm'); angular.bootstrap(moduleContainer, ["myApp"]); }); </script>
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句