AngularJS表单操作几个例子(表单提交,表单编辑默认值)

    xiaoxiao2021-03-25  112

    听同事讲AngularJS比jquery还要强大一些于时就开始了AngularJS学习工作,但在学习AngularJS中发现对于表单提交与表单默认值都不会搞,下面来看看几个关于AngularJS Form的案例吧。 模仿着我要搞了个AngularJS Form,但是问题来了。。。。  发现初始化时候ng-model 跟 input 标签里的 value 不默契,冲突。。  后来想再AngularJS controller 里预先赋值 $scope.formData = {‘name':’张三’}; 可以通过php程序把值赋到这个AngularJS controller里  代码如下 复制代码  <!-- AngularJS controller -->  <script>      var formApp = angular.module('formApp', []);      function formController($scope, $http) {          $scope.formData = {'name':'张三','remark':'备注'};          $scope.myForm = function() {              $http({                  method  : 'POST',                  url     : '/role/edit',                  data    : $.param($scope.formData),  // pass in data as strings                  headers : { 'Content-Type': 'application/x-www-form-urlencoded' }  // set the headers so angular passing info as form data (not request payload)              })                  .success(function(data) {                      console.log(data);                      if (!data.success) {                      } else {                      }                  });          };      }  </script>   <!--对应form里的input调整-->  代码如下 复制代码  <input type="text" name="name" ng-model="formData.name" class="form-control" placeholder="Role Name">   后来又搜啊搜 发现还有其他办法,这么个东东 ng-init=”formData.name=’张三'”  代码如下 复制代码  <input type="text" name="name" ng-model="formData.name" ng-init="formData.name='张三'" value="">   好了,上面非常的简单,我们再来看 事件 AngularJS提供可与HTML控件相关联的多个事件。例如ng-click通常与按钮相关联。以下是AngularJS支持的事件。 ng-click ng-dbl-click ng-mousedown ng-mouseup ng-mouseenter ng-mouseleave ng-mousemove ng-mouseover ng-keydown ng-keyup ng-keypress ng-change ng-click 使用点击一个按钮的指令,表单重置数据。  代码如下 复制代码  <input name="firstname" type="text" ng-model="firstName" required>  <input name="lastname" type="text" ng-model="lastName" required>  <input name="email" type="email" ng-model="email" required>  <button ng-click="reset()">Reset</button>  <script>     function studentController($scope) {         $scope.reset = function(){           $scope.firstName = "Mahesh";           $scope.lastName = "Parashar";           $scope.email = "MaheshParashar@yiibai.com";    }        $scope.reset();  }  </script>   验证数据 可使用下面跟踪误差。 $dirty - 规定值已被改变。 $invalid- 该值的状态是无效的。 $error- 指出确切的错误。 例子 下面的例子将展示上述所有指令。  代码如下 复制代码  testAngularJS.html  <html>  <head>  <title>Angular JS Forms</title>  <style>  table, th , td {    border: 1px solid grey;    border-collapse: collapse;    padding: 5px;  }  table tr:nth-child(odd) {    background-color: #f2f2f2;  }  table tr:nth(www.111cn.net)-child(even) {    background-color: #ffffff;  }  </style>  </head>  <body>  <h2>AngularJS Sample Application</h2>  <div ng-app="" ng-controller="studentController">  <form name="studentForm" novalidate>  <table border="0">  <tr><td>Enter first name:</td><td><input name="firstname" type="text" ng-model="firstName" required>     <span style="color:red" ng-show="studentForm.firstname.$dirty && studentForm.firstname.$invalid">        <span ng-show="studentForm.firstname.$error.required">First Name is required.</span>     </span>  </td></tr>  <tr><td>Enter last name: </td><td><input name="lastname"  type="text" ng-model="lastName" required>     <span style="color:red" ng-show="studentForm.lastname.$dirty && studentForm.lastname.$invalid">        <span ng-show="studentForm.lastname.$error.required">Last Name is required.</span>     </span>  </td></tr>  <tr><td>Email: </td><td><input name="email" type="email" ng-model="email" length="100" required>  <span style="color:red" ng-show="studentForm.email.$dirty && studentForm.email.$invalid">        <span ng-show="studentForm.email.$error.required">Email is required.</span>     <span ng-show="studentForm.email.$error.email">Invalid email address.</span>     </span>  </td></tr>  <tr><td><button ng-click="reset()">Reset</button></td><td><button    ng-disabled="studentForm.firstname.$dirty && studentForm.firstname.$invalid ||       studentForm.lastname.$dirty && studentForm.lastname.$invalid ||       studentForm.email.$dirty && studentForm.email.$invalid"   ng-click="submit()">Submit</button></td></tr>  </table>  </form>  </div>  <script>  function studentController($scope) {      $scope.reset = function(){    $scope.firstName = "Mahesh";    $scope.lastName = "Parashar";    $scope.email = "MaheshParashar@yiibai.com";     }        $scope.reset();  }  </script>  <script src="angular.min.js"></script>  </body>  </html>   输出   AngularJS表单操作几个例子(表单提交,表单编辑默认值) 在Web浏览器打开textAngularJS.html。看到结果如下。 常用的表单验证指令  1. 必填项验证 某个表单输入是否已填写,只要在输入字段元素上添加HTML5标记required即可: <input type="text" required />  2. 最小长度 验证表单输入的文本长度是否大于某个最小值,在输入字段上使用指令ng-minleng= "{number}": <input type="text" ng-minlength="5" /> 3. 最大长度 验证表单输入的文本长度是否小于或等于某个最大值,在输入字段上使用指令ng-maxlength="{number}": <input type="text" ng-maxlength="20" /> 4. 模式匹配 使用ng-pattern="/PATTERN/"来确保输入能够匹配指定的正则表达式: <input type="text" ng-pattern="/[a-zA-Z]/" /> 5. 电子邮件 验证输入内容是否是电子邮件,只要像下面这样将input的类型设置为email即可: <input type="email" name="email" ng-model="user.email" /> 6. 数字 验证输入内容是否是数字,将input的类型设置为number: <input type="number" name="age" ng-model="user.age" /> 7. URL  验证输入内容是否是URL,将input的类型设置为 url: <input type="url" name="homepage" ng-model="user.facebook_url" /> from:http://www.111cn.net/wy/jquery/75590.htm
    转载请注明原文地址: https://ju.6miu.com/read-9105.html

    最新回复(0)