iis服务器助手广告广告
返回顶部
首页 > 资讯 > 前端开发 > html >AngularJS如何实现表单提交
  • 356
分享到

AngularJS如何实现表单提交

2024-04-02 19:04:59 356人浏览 泡泡鱼
摘要

这篇文章将为大家详细讲解有关angularjs如何实现表单提交,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。具体如下:AngularJS中的数据绑定AngularJS创建

这篇文章将为大家详细讲解有关angularjs如何实现表单提交,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

具体如下:

AngularJS中的数据绑定

AngularJS创建实时模板来代替视图,而不是将数据合并进模板之后更新DOM。任何一个独立视图组件中的值都是动态替换的。

ng-app属性声明所有被其包含的内容都属于这个AngularJS应用,这也是我们可以在WEB应用中嵌套AngularJS应用的原因。只有被具有ng-app属性的DOM元素包含的元素才会受AngularJS影响。

当AngularJS认为某个值可能发生变化时,它会运行自己的事件循环来检查这个值是否变“脏”。如果该值从上次事件循环运行之后发生了变化,则该值被认为是“脏”值。这也是Angular可以跟踪和响应应用变化的方式。

这个过程被称作脏检查。脏检查是检查数据模型变化的有效手段。当有潜在的变化存在时,AngularJS会在事件循环时执行脏检查来保证数据的一致性。

借助AngularJS,不需要构建复杂和新的javascript功能,就可以在视图中实现类自动同步的机制。

我们使用ng-model指令将内部数据模型对象($scope)中的name属性绑定到了文本输入字段上。

数据模型对象是指$scope对象。$scope对象是一个简单的JavaScript对象,其中的属性可以被视图访问,也可以同控制器进行交互。
双向数据绑定意味着如果视图改变了某个值,数据模型会通过脏检查观察到这个变化,而如果数据模型改变了某个值,视图也会一句变化重新渲染。

模块

在AngularJS中,模块是定义应用的最主要的方式。模块包含了主要的应用代码,它允许我们使用angular.module()方法来声明模块,这个方法能够接受两个参数,第一个是模块的名称,第二个是依赖列表,也就是可以被注入到模块中的对象列表。

angular.module('myApp',[]);

控制器

AngularJS中的控制器是一个函数,用来向视图的作用域中添加额外的功能。我们用它来给作用域对象设置初始状态,并添加自定义行为。
当我们在页面上创建一个新的控制器时,AngularJS会生成并传递一个新的$scope给这个控制器。

AngularJS同其他JavaScript框架最主要的一个区别就是,控制器并不适合用来执行DOM操作、格式化或数据操作,以及除存储数据模型之外的状态维护操作。它只是视图和$scope之间的桥梁。

表达式

用{{}}符号将一个变量绑定到$scope上的写法本质上就是一个表达式:{{expression}}。对表达式进行的任何操作,都会在其所属的作用域内部执行,因此可以在表达式内部调用那些限制在此作用域内的bianl,并进行循环、函数调用、将变量应用到数学表达式中等操作。

本例子采用技术

① 页面使用bootstrap布局,页面是bootstrap的模板

前端框架AngularJS

③ 后台使用springMVC

整个代码的功能是在输入内容后,提交给后台,后台再返回数据显示到页面,提交时有验证提示。

我在这里列举了三种方式来做这次应用

1.全局作用域的控制器
2.模块划分的控制器
3.将后台请求做成服务抽离出来的控制器

JSP代码:

<%@ page language="java" contentType="text/html; charset=UTF-8"
 pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html lang="zh-cn" ng-app="MyApp">
<head>
<meta charset="utf-8">
<meta Http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>接口测试</title>
<!-- Bootstrap -->
<link href="CSS/bootstrap/bootstrap.min.css" rel="external nofollow" rel="stylesheet">
</head>
<body>
 <div ng-controller="keepController">
 <fORM name="testForm" novalidate>
 <div id="responseMsg" class="testMode" >
 <div>
  <h4>认证接口:</h4>
  <textarea required class="form-control" rows="3" id="authData" name="authData" ng-model="authData"></textarea>
  <span  ng-show="testForm.authData.$dirty && testForm.authData.$invalid">
     <span ng-show="testForm.authData.$error.required">认证接口必填</span>
   </span>
   </div>
 <div>
  <h4>数据请求接口:</h4>
  <textarea required class="form-control" rows="3" id="reqData" name="reqData" ng-model="reqData"></textarea>
  <span  ng-show="testForm.reqData.$dirty && testForm.reqData.$invalid">
     <span ng-show="testForm.reqData.$error.required">数据请求接口必填</span>
   </span>
 </div>
 <div >
  <button class="btn btn-default" role="button" ng-click="keepTest()"
  ng-disabled="testForm.authData.$invalid ||
  testForm.reqData.$invalid"
  >连接测试</button>
 </div>
 <div>{{ansInfo}}</div>
 </div>
 </form>
 </div>
 <script src="js/angularJS/angular.min.js"></script>
 <script type="text/javascript">
//1.全局作用域的例子
 
//2.模块化控制器
 
 //3.请求服务抽出来的控制器
 angular.module('myapp.services',[]).factory('testService',function($http){
  var runRequest = function(pData){
  return $http({method:'POST',url:'tesTKEep',params:pData});
  };
  return {
  events:function(pData){
   return runRequest(pData);
  }
  };
 });
 angular.module('MyApp',['myapp.services']).
  controller('keepController',function($scope,testService){
  $scope.keepTest= function(){
   var pData = {authData:$scope.authData,reqData:$scope.reqData};
   testService.events(pData).success(function(response){
   $scope.ansInfo=response.a;
   });
  };
 });
 </script>
 <script src="js/Jquery.js"></script>
 <script src="js/bootstrap/bootstrap.min.js"></script>
</body>
</html>

JAVA代码:

@RequestMapping(value = "testKeep", produces = "text/plain;charset=UTF-8")
@ResponseBody
public String testKeep(httpservletRequest request,
  HttpServletResponse response) {
 System.out.println(request.getParameter("authData"));
 System.out.println(request.getParameter("reqData"));
 JSONObject ja = new JSONObject();
 ja.put("a", "aaa");
 ja.put("b", "bbb");
 ja.put("c", "ccc");
 System.out.println("test:"+ja.toString());
 return ja.toString();
}

关于“AngularJS如何实现表单提交”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

--结束END--

本文标题: AngularJS如何实现表单提交

本文链接: https://www.lsjlt.com/news/73249.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • AngularJS如何实现表单提交
    这篇文章将为大家详细讲解有关AngularJS如何实现表单提交,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。具体如下:AngularJS中的数据绑定AngularJS创建...
    99+
    2024-04-02
  • jQuery如何实现回车提交表单
    这篇文章主要为大家展示了“jQuery如何实现回车提交表单”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“jQuery如何实现回车提交表单”这篇文章吧。回车提交表...
    99+
    2024-04-02
  • jQuery如何实现异步提交表单
    这篇文章主要为大家展示了“jQuery如何实现异步提交表单”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“jQuery如何实现异步提交表单”这篇文章吧。前言:我们...
    99+
    2024-04-02
  • vue表单提交编辑如何实现
    本篇内容主要讲解“vue表单提交编辑如何实现”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“vue表单提交编辑如何实现”吧!表单数据的绑定与修改在Vue中实现表单数据的绑定和修改需要用到v-mod...
    99+
    2023-07-06
  • Flex如何实现表单提交验证
    这篇文章给大家分享的是有关Flex如何实现表单提交验证的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。Flex表单提交验证一、定义Flex表单提交验证条件,如:source为要绑定的文本框,trigger为绑定提交...
    99+
    2023-06-17
  • 如何使用JavaWeb实现表单提交
    这篇文章主要介绍如何使用JavaWeb实现表单提交,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!register.html<!DOCTYPE html PUBLIC "-...
    99+
    2023-06-29
  • php回车不提交表单和提交表单怎么实现
    这篇“php回车不提交表单和提交表单怎么实现”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“php回车不提交表单和提交表单怎么...
    99+
    2023-07-05
  • JavaScript如何实现异步提交表单数据
    这篇文章将为大家详细讲解有关JavaScript如何实现异步提交表单数据,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。本文实例为大家分享了JavaScript实现异步提交表单数据的具体代码,供大家参考,具...
    99+
    2023-06-15
  • Python中如何提交表单
    Python中如何提交表单,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。Python提交表单代码示例:# -*- coding: cp936&...
    99+
    2023-06-17
  • AngularJS中如何实现表单验证功能
    小编给大家分享一下AngularJS中如何实现表单验证功能,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!  ...
    99+
    2024-04-02
  • CSS中怎么实现提交表单
    CSS中怎么实现提交表单,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。CSS代码:body { padding:50px&...
    99+
    2024-04-02
  • 如何使用Ajax方法实现Form表单的提交
    这篇文章主要介绍了如何使用Ajax方法实现Form表单的提交,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。常见的form表单提交方式<...
    99+
    2024-04-02
  • JavaScript如何阻止表单提交
    这篇文章主要介绍JavaScript如何阻止表单提交,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!示例:<body>  <form action...
    99+
    2024-04-02
  • layui如何实现图片上传+表单提交+ Spring MVC
    这篇文章主要介绍了layui如何实现图片上传+表单提交+ Spring MVC,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。1.前端HTML...
    99+
    2024-04-02
  • 纯javascript中ajax如何实现php异步提交表单
    这篇文章将为大家详细讲解有关纯javascript中ajax如何实现php异步提交表单,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。很多时候需要异步提交表单,当表单太多是时候,一个个getElementB...
    99+
    2023-06-08
  • Ajax如何实现提交Form表单及文件上传
    这篇文章主要为大家展示了“Ajax如何实现提交Form表单及文件上传”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Ajax如何实现提交Form表单及文件上传”这...
    99+
    2024-04-02
  • jQuery中EasyUI开发如何实现查询提交表单
    这篇文章主要介绍jQuery中EasyUI开发如何实现查询提交表单,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!查询提交表单:function serarchFun(){/...
    99+
    2024-04-02
  • Nodejs中怎么实现http表单提交
    Nodejs中怎么实现http表单提交,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。POST方法提交表单数据  之前也总结过,向服务器提交...
    99+
    2024-04-02
  • python表单提交
    python写爬虫模拟表单提交的库其实有很多,我使用的是Requests库进行简单的表单提交。 Requets 库安装方式: sudo pip install requests一、无文件的表单提交         对于无文件的提交,我...
    99+
    2023-01-31
    表单 python
  • JavaScript实现异步提交表单数据
    本文实例为大家分享了JavaScript实现异步提交表单数据的具体代码,供大家参考,具体内容如下 效果如下: 首先看一下HTML代码部分: <div class="co...
    99+
    2024-04-02
软考高级职称资格查询
推荐阅读
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作