设为首页 加入收藏

TOP

AngularJS 提交表单的方式
2014-11-23 22:15:43 】 浏览:1804
Tags:AngularJS 提交 表单 方式

在AngularJS出现之前,很多开发者就面对了表单提交这一问题。由于提交表单的方式繁杂而不同,很容易令人疯掉……然而现在看来,依然会让人疯掉。


今天,我们会看一下过去使用PHP方式提交的表单,现在如何将其转换为使用Angular提交。使用Angular来处理表单,对我而言,是一个“啊哈”时刻(译者:表示了解或发现某事物的喜悦)。即使它甚至都没有涉及多少Angular表层的东西,但是它却帮助用户看到表单提交之后的潜力,并且理解两种数据绑定方式。


我们会使用jQuery平台来进行这个处理过程。所以所要做的工作首先使用java script。我们会提交表单,展示错误信息,添加错误类,并且在java script中显示和隐藏信息。


带你走近AngularJS系列


之后,我们会使用Angular。在使用之前,我们要做大部分所需的工作,并且我们之前所做的很多工作会非常容易。让我们开始吧。


仅使用jQuery和AJAX提交表单:如果你想看一篇完整的关于仅使用jQuery和AJAX提交表单的文章,请参见我们的另一篇文章:使用jQuery提交表单的方式


简单的表单


我们会关注两种提交表单的方式:


首先看一下我们的表单,超级简单:


submitting-forms-with-angular


形式要求


文档结构


在我们的展示中,仅需两个文件



让我们新建一个PHP来处理表单。该页面非常小并且使用POST方式提交数据。


处理表单:这对我们来说并不是那么重要的。你可以使用其他你喜欢的语言来处理你的表单。


// process.php


< php


$errors = array(); // array to hold validation errors
$data = array(); // array to pass back data


// validate the variables ======================================================
if (empty($_POST['name']))
$errors['name'] = 'Name is required.';


if (empty($_POST['superheroAlias']))
$errors['superheroAlias'] = 'Superhero alias is required.';


// return a response ===========================================================


// response if there are errors
if ( ! empty($errors)) {


// if there are items in our errors array, return those errors
$data['success'] = false;
$data['errors'] = $errors;
} else {


// if there are no errors, return a message
$data['success'] = true;
$data['message'] = 'Success!';
}


// return all our data to an AJAX call
echo json_encode($data);


这是一个非常简单的表单处理脚本。我们仅检查数据是否存在,如果存在,则不做任何处理和操做;如果不存在,则需要向$errors数组中添加一条信息。


为了返回我们的数据用于AJAX调用,我们需要使用echo和json_encode。这就是我们PHP表单处理所有需要做的操作。使用普通的jQuery AJAX或者Angular处理表单也是这样的。


让我们创建一个HTML来展示我们的表单






Angular Forms








<script src="//ajax.googleapis.com/ajax/libs/jquery/2.0.3/jquery.min.js">



<script>































现在,我们有了表单。我们另外还使用了Bootstrap来使表单看起来不是那么丑。使用Bootstrap语法规则,每个input下含有一个spot来展示我们文本的错误信息。


submitting-forms-with-angular


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇AngularJS 中的友好 URL —— 移.. 下一篇Android App反编译全程笔记

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目