表单的ajax验证,以post方式
来源:互联网 发布:怎样经营好淘宝网店 编辑:程序博客网 时间:2024/05/29 08:35
表单验证很重要,极其重要。
首先,获取绑定对象的js函数是
function getActivatedObject(e) {
var obj;
if (!e) {
// early version of IE
obj = window.event.srcElement;
} else if (e.srcElement) {
// IE 7 or later
obj = e.srcElement;
} else {
// DOM Level 2 browser
obj = e.target;
}
return obj;
}
连接事件 和响应函数是
function addEventHandler(obj, eventName, handler) {
if (document.attachEvent) {
obj.attachEvent("on" + eventName, handler);
} else if (document.addEventListener) {
obj.addEventListener(eventName, handler, false);
}
}
一般表单的验证函数为
非空的
function fieldIsFilled(e){
var me=getActivatedObject(e);
if(this.value==""){
\\ warn(me,"required");
}else{
\\ unwarn(me,"required");
}
}
是字母的
function fieldIsLetters(e){
var me=getActivatedObject(e);
var nonAlphaChars=/[^a-zA-z]/;
if(nonAlphaChars.test(me.value)){
//desplay an error message
warn(me,"letters");
}else{
unwarn(me,"letters");
}
}
是数字的
function fieldIsNumbers(e){
var me=getActivatedObject(e);
var noNumbericChars=/[^0-9]/;
if(noNumbericChars.test(me.value)){
//desplay an error message
warn(me,"letters");
}else{
unwarn(me,"letters");
}
}
邮箱的格式验证:
function emailIsProper(e){
var me = getActivatedObject(e);
if(!/^[\w\.-_\+]+@[\w-]+(\.\w{2,4})+$/.test(me.value)){
warn(me,"letters");
}else{
unwarn(me,"letters");
}
}
验证举例:
addEventHandler(document.getElementById("email"),"blur",fieldIsFilled);
post方式提交ajax的区别
var url = "register.php";
var requestData="username=" +
escape(document.getElementById("username").value) + "&password=" +
escape(document.getElementById("password1").value) + "&firstname=" +
escape(document.getElementById("firstname").value) + "&lastname=" +
escape(document.getElementById("lastname").value) + "&email=" +
escape(document.getElementById("email").value) + "&genre=" +
escape(document.getElementById("genre").value) + "&favorite=" +
escape(document.getElementById("favorite").value) + "&tastes=" +
escape(document.getElementById("tastes").value);
registerRequest.onreadystatechange = registrationProcessed;
registerRequest.open("POST", url, true);
registerRequest.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
registerRequest.send(requestData);
不需要回调,url不在附加信息,信息自己打包成requestData,要设置发送的文件头,方便服务器解析
registerRequest.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
- 表单的ajax验证,以post方式
- c#以POST方式模拟提交表单
- Ajax以post方式提交数据
- ajax以get和post方式请求
- .post简化.ajax方式提交form表单
- Ajax以post方式传送带参的数据方式与get请求的不同
- C++用libcurl通过HTTP以表单的方式Post数据到服务器
- AJAX实例的表单验证
- AJAX实例的表单验证
- 简单的Ajax表单验证
- AJAX表单验证的正则
- HttpClient 实现重定向 以表单方式post提交参数
- android以post方式实现上传图片和表单
- tp以post方式提交表单并保存数据
- 解决ajax以post方式传参时,字符串中有单引号的错误。
- 用Ajax以GET或POST的方式来和服务器进行数据交互
- AJAX如何以POST的方式提交JSON数据到Form
- 在jquery中ajax提交表单的post与get方式详解
- Informatica安装客户端
- 安装JAVA,配置
- 3DES解密算法实现
- php缓存类
- 循环发送ajax请求的解决方法
- 表单的ajax验证,以post方式
- 关于 swap 分区的说明
- 从Windows下的命令行启动MYSQL
- Vb中使用报表控件(二)
- Informatica配置客户端
- s5pv210平台WCDMA模块[华为E1750]调试成功-基于x210ii开发板
- Eclipse打不开。The Eclipse executable launcher was unable to locate its companion shared library
- 计算机系统中的异常控制流
- CF 135 div2 A题 k-String