在表单提交的时候, 我使用了一个 button, 但 ng-submit 写在 form 标签中, 然而 button 中我未使用任何方法访问 submit() 函数
- <div ng-App="dkr">
- <div ng-controller="logincontrol">
- <form ng-submit="submit(user)">
- <div> 账号名 <input type="text" ng-model="user.username"/></div>
- <div> 密码 <input type="text" ng-model="user.password"></div>
- <button type="submit"> 提交 </button>
- <div ng-show="success.length>0">{{success}}</div>
- <div ng-show="error.length>0">{{error}}</div>
- </form>
- </div>
- <code class="language-html"></div></code>
- angular.module("dkr",[])
- .controller("logincontrol",function($scope){
- $scope.user={username:'',password:''};
- $scope.success="";
- $scope.error="";
- $scope.submit=function(u){
- if($scope.user.username=="admin"&&$scope.user.password=="123"){
- $scope.success="success";
- $scope.error="";
- }
- else{
- $scope.success="";
- $scope.error="error";
- }
- console.log(u);
- };
- })
点击提交后的结果:
如上所示, 返回结果以及控制台打印完全正确.
然而我对提交这个 button 未做任何处理
然后经过测试, 我发现 button 的默认 type 为 submit.
因为只要将
<button> 提交 </button>
改成
<button type="button"> 提交 </button>
之后
点击按钮没有任何反应.
因此在 form 表单提交的时候一定要注意 button 标签的默认使用.
来源: http://www.jb51.net/article/148311.htm