Ajax 表单验证 实现代码

PUNK啊

PUNK啊

2016-02-19 11:32

下面是个Ajax 表单验证 实现代码教程,撑握了其技术要点,学起来就简单多了。赶紧跟着图老师小编一起来看看吧!
兼容: opera 9.6 + chrome 2.0 + FF 3 + IE 6
效果:一边输入一边实现验证
image 
环境:ruby 1.8.6 + rails 2.1.0 + windows
核心代码:
html:
浏览器禁用javascript时显示提示信息:
代码如下:

noscript
div style="color:red"您的浏览器不支持javascript,部分功能无法使用/div
/noscript

当浏览器禁用JS后,提交按钮不可用,实现客户端验证!
代码如下:

div id="js_support" style="display:none"
p id="pSubmit"input type="submit" name="registerform" value="注 册" onclick="return submitform();"//p
/div
script type="text/javascript"
$("js_support").style.display = "block";
/script

通过javascript的onfocus和onkeyup实现监听表单域:
input type="text" class="textbox" onfocus="checkLogin(this);" onkeyup="checkLogin(this);" style="width:120px;" /
ajax的自动验证:其中用到一个bp.js,是已经封装好的xmlhttprequest对象的,可以到我下面的项目中下载到
代码如下:

function checkLogin(node) {
clearError();
if (bp.String.trim(node.value)!="") {
var url = "/test/response_validate";
var params = [];
params["command"] = "logincheck";
params["login"] = encodeURI(bp.String.trim(node.value));
var v = validatePath("login",params["login"]);
if (v==""){
bp.Io.XhrGet({
url: url,
mimeType: "text/json",
params: params,
load: function(type, data, e) {
if (data==true){
loginError = document.getElementById("valstatus").innerHTML = '登录名已存在';
document.getElementById("loginValidate").className = "icon_cross";
node.className = "input_error";
loginValid = false;
} else {
loginError = "";
document.getElementById("loginValidate").className = "icon_ok";
node.className = "textbox";
loginValid = true;
}
},
error: function(type, data, e) {}
});
} else {
loginError = document.getElementById("valstatus").innerHTML = v;
document.getElementById("loginValidate").className = "icon_cross";
node.className = "input_error";
loginValid = false
}
} else {
loginError = validatePath("login", "");
document.getElementById("loginValidate").className = "";
node.className = "textbox";
}
}

后台:
这个是rails的后台,通过render :partial返回数据给客户端,当然可以是任何平台下的,例如java平台下的可以用servlet的out.println(...)返回
代码如下:

def response_validate
if params[:login]
name = params[:login]
puts name
if name == "aaaaaa"
@value = true
render :partial = 'show_info'
else
@value = false
render :partial = 'show_info'
end
end
end

完整源码下载:
jsvalidate.rar
展开更多 50%)
分享

猜你喜欢

Ajax 表单验证 实现代码

Web开发
Ajax 表单验证 实现代码

jquery ajax 登录验证实现代码

Web开发
jquery ajax 登录验证实现代码

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

javascript Ajax 类实现代码

Web开发
javascript Ajax 类实现代码

AJAX 进度条实现代码

Web开发
AJAX 进度条实现代码

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

jQuery AJAX 调用WebService实现代码

Web开发
jQuery AJAX 调用WebService实现代码

ajax制作表单验证示例

Web开发
ajax制作表单验证示例

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

PHP下ereg实现匹配ip的正则

PHP下ereg实现匹配ip的正则

android横竖屏切换不重启activity解决方案

android横竖屏切换不重启activity解决方案
下拉加载更多内容 ↓