听同事讲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

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

  1. SharePoint:扩展DVWP - 第34部分:使用图标形式的表单操作链接

    上一次,我们对我们的DVWP的外观进行了最后的加工,实现了下图中 1-5 的部分.这一次,我们将继续完成剩下的6 和 7 ,来为其添加一个图标. 在本系列中间的部分,Greg Schaefer提了一个 ...

  2. Php获取id并提交表单,提交表单后 PHP获取提交内容的实现方法

    提交表单后 PHP获取提交内容的实现方法2020-06-14 15:35:24 问题:网页上提交表单之后,PHP为什么不能获取提交的内容?然而在老版本的PHP上运行却正常. 新版的PHP已经废弃了原来 ...

  3. html表单自动提交表单提交表单数据类型,表单

    表单在网页中主要负责数据采集功能.一个表单有三个基本组成部分: 表单标签:这里面包含了处理表单数据所用CGI程序的URL以及数据提交到服务器的方法. 表单域:包含了文本框.密码框.隐藏域.多行文本框. ...

  4. Flask 表单操作库 flask_WTF flask_WTForms

    一.安装 flask_WTF 0.14.X flask_WTF 英文文档          flask_WTF 中文文档0.12        Flask表单验证组件WTForms Flask-WTF ...

  5. 表的插入、更新、删除、合并操作_9_插入默认值

    插入默认值 需求描述 需求:指定dept表loc字段的默认值是Beijing,并向该表中插入部门编号为50,部门名称为Production的数据. 解决方法:这里需要DDL的里知识,即对表dept在l ...

  6. php隐藏表单提交表单提交表单_表单提交及php处理表单数据的实例

    先来看一下html form表单的源码: Feedback Form Name: Email: 表单是以 开头,以结束. action表示要将表单提交到哪个文件进行处理数据,这里是提交到feedbac ...

  7. 表的插入、更新、删除、合并操作_15_ 按照默认值更新表

    按照默认值更新表 需求描述 需求:更新deptno对应是50的dept表的loc字段成默认值. 解决方法:这里通过UPDATE TableName SET ColName=DEFAULT -的方式来更 ...

  8. jquery验证表单 提交表单

    问题: jquery中使用submit提交按钮时,当return false后,依然会提交表单. 解决: 使用button按钮,而不是submit按钮 <script type="te ...

  9. iView Input 输入框表单非空校验,默认值是 Number 类型校验失败

    问题描述 iView 按照 Form 组件文档用法写非空校验,当表单数据有默认值并且默认值类型为 Number校验失败,手动输入可以校验成功. 问题原因 官方已经给出回答,校验规则默认是 string ...

最新文章

  1. Excel常用公式记录
  2. 防止按钮重复点击 模型转字典 接口传参不能用汉字,要转码
  3. Attachment rename issue in Faas
  4. NGRAIN在模型轻量化上的应用
  5. socket通信基础知识
  6. JS ||(或运算)详解
  7. ES6 Generator 函数
  8. SpringCloud微服务(01):Eureka组件,管理服务注册与发现
  9. python:DataFrame连续取前23列数据,或者连续取前2行数据,或者取某行某列数据
  10. 实验6 振幅解调器(包络检波、同步检波)
  11. 往linux内核添加ch341,linux 4.1 usb驱动之usb_serial芯片ch341
  12. 第三届全国平面公益广告大赛暨全国大学生公益广告征集活动
  13. py征途3之填坑(pagerank个人详解)
  14. solidworks2014方程式添加全局变量存在句法错误的解决方案
  15. WPS表格级联菜单设置方法
  16. Redis Cluster(集群)模式下批量删除key
  17. 2006世界杯夺冠热门分析
  18. 对于云计算的行业发展,有哪些好的建议?
  19. java作业斗地主实现
  20. “系统资源不足,无法满足请求服务“ ,而内存够大,解决办法

热门文章

  1. 2018-2019-1 20165320 《信息安全系统设计基础》第八周学习总结
  2. 《记》rxjs分流操作符简单实现
  3. Python迭代对象、迭代器、生成器
  4. SSLRobot:适用于HttpWatch的免费SSL / TLS测试工具
  5. [React Native Android 安利系列]样式与布局的书写
  6. Activity 切换 动画
  7. 利用OpenCV在picture控件中显示图片
  8. Recompile/upgrade nginx binary with no down-time
  9. 微软发布5月补丁星期二:3个0day,1个蠕虫
  10. 《重来》值得你多看几遍