ajax无刷新方式收集表单并提交表单
ajax无刷新方式收集表单有两种方式,
一个是使用html5的FormData。一个是传统的方式。
一,FormData,在主流的浏览器中可以用,IE不好用啊。
另外,FormData使用有两个条件,第一,input里面需要有name属性;第二,不需要用到header头。
<script type="text/javascript">
//给form表单制作一个提交事件onsubmit<br />
window.onload = function(){
var form = document.getElementsByTagName('form')[0];
form.onsubmit = function(evt){
//①利用FromData表单数据对象,快速搜集表单数据
var fd = new FormData(form);
//alert(info);
//②ajax把收集好的信息传递给服务器
var xhr = new XMLHttpRequest();
xhr.onreadystatechange = function(){
if(xhr.readyState==4){
alert(xhr.responseText);
}
};
xhr.open('POST','register.php');
//xhr.setRequestHeader("content-type","application/x-www-form-urlencoded");
xhr.send(fd);
//阻止浏览器默认动作
evt.preventDefault();
//return false;
}
} </script>
二,传统方式。
<script type="text/javascript">
//给form表单制作一个提交事件onsubmit<br />
window.onload = function(){
var form = document.getElementsByTagName('form')[0];
form.onsubmit = function(evt){
//①收集form表单信息 var username = document.getElementById('username').value;
var userpass = document.getElementById('userpass').value;
var useremail = document.getElementById('useremail').value; var info = 'username='+username+'&userpass='+userpass+'&useremail='+useremail;//发送请求字符串
//alert(info);
//②ajax把收集好的信息传递给服务器
var xhr = new XMLHttpRequest();
xhr.onreadystatechange = function(){
if(xhr.readyState==4){
alert(xhr.responseText);
}
};
xhr.open('POST','register.php');
xhr.setRequestHeader("content-type","application/x-www-form-urlencoded");
xhr.send(info);
//阻止浏览器默认动作
evt.preventDefault();
//return false;
}
} </script>
另外,写一个form表单。
<form name="form">
<p>用户名:<input type="text" name="username" id="username"/></p>
<p>密码:<input type="password" name="userpass" id="userpass"/></p>
<p>邮箱:<input type="text" name="useremail" id="useremail"/></p>
<p><input type="submit" value="注册"/></p>
</form>
传值到一个php文件
<?php
//搜集信息
print_r($_POST);
?>
就这么简单。
ajax无刷新方式收集表单并提交表单的更多相关文章
- ajax无刷新方式对form表单进行赋值!
/** * 把json数据填充到from表单中 */ <form id="editForm" action="user.php"> 用户名:< ...
- DWZ框架Ajax无刷新表单提交处理流程
DWZ框架Ajax无刷新表单提交处理流程是: 1. ajax表单提交给服务器 2. 服务器返回一个固定格式json结构 3. js会调函数根据这个json数据做相应 ...
- js中对arry数组的各种操作小结 瀑布流AJAX无刷新加载数据列表--当页面滚动到Id时再继续加载数据 web前端url传递值 js加密解密 HTML中让表单input等文本框为只读不可编辑的方法 js监听用户的键盘敲击事件,兼容各大主流浏览器 HTML特殊字符
js中对arry数组的各种操作小结 最近工作比较轻松,于是就花时间从头到尾的对js进行了详细的学习和复习,在看书的过程中,发现自己平时在做项目的过程中有很多地方想得不过全面,写的不够合理,所以说啊 ...
- jQuery实现form表单基于ajax无刷新提交方法详解
本文实例讲述了jQuery实现form表单基于ajax无刷新提交方法.分享给大家供大家参考,具体如下: 首先,新建Login.html页面: <!DOCTYPE html PUBLIC &quo ...
- Ajax无刷新提交表单和显示
ajax无刷新表单提交: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "htt ...
- Ajax无刷新提交
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- ajaxfileupload.js插件结合一般处理文件实现Ajax无刷新上传
先上几张图更直观展示一下要实现的功能.本功能主要通过Jquery ajaxfileupload.js插件结合ajaxUpFile.ashx一般应用程序处理文件实现Ajax无刷新上传功能,结合NPOI2 ...
- ajax无刷新上传图片
页面: <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> & ...
- 关于Ajax无刷新分页技术的一些研究 c#
关于Ajax无刷新分页技术的一些研究 c# 小弟新手,求大神有更好的解决方案,指教下~ 以前做项目,用过GridView的刷新分页,也用过EasyUI的封装好的分页技术,最近在老项目的基础上加新功能, ...
随机推荐
- dt dd 如何在同一行上
<style> dl{clear:left;} dt,dd{float:left;} </style> <dl> <dt>test </dt> ...
- c++ explicit
C++ explicit关键字用来修饰类的构造函数,表明该构造函数是显式的,既然有"显式"那么必然就有"隐式",那么什么是显示而什么又是隐式的呢? 如果c++类 ...
- Windows下Vundle插件BundleSearch命令出现错误解决方案
纯粹参考他人博文,已证明解决方案正确,转载时请注明参考链接!!! 参考链接: http://www.tuicool.com/articles/e2aiEn 在Windows下使用Vim时,用Vundl ...
- C++ Primer 随笔 Chapter 10 关联容器
1.关联容器的类型:map(键-值对的集合,可理解为关联数组), set(单纯的键的集合), multimap(一个键对应多个值,键唯一), multiset(相同键可以是多个). 2.pair类型提 ...
- Binary Tree Inorder Traversal ——LeetCode
Given a binary tree, return the inorder traversal of its nodes' values. For example:Given binary tre ...
- [转] 关于C++中模板中的typename和class的区别比较
C++箴言:理解typename的两个含义 转自http://blog.csdn.net/dick_china/article/details/4522253 问题:在下面的 template dec ...
- 优化SQL
1. 通过 show status和应用特点了解各种 SQL的执行频率 通过 SHOW STATUS 可以提供服务器状态信息,也可以使用 mysqladmin extende d-status 命令获 ...
- XQuery FLWOR 表达式
FLWOR 是 "For, Let, Where, Order by, Return" 的只取首字母缩写.for 语句把 bookstore 元素下的所有 book 元素提取到名为 ...
- webstrom开发微信小程序说明
在操作之前,需要对webstrom做一些设置,如下 如果未安装node.js的朋友,请到如下地址 https://nodejs.org/en/ 安装(相信大家都是会的),如果安装完了之后,就使用如下的 ...
- 计数dp-hdu-4054-Number String
题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=4055 题目大意: 给一个只含‘I','D','?'三种字符的字符串,I表示当前数字大于前面的数字,D ...