国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發(fā) > AJAX > 正文

Ajax如何實現(xiàn)表單驗證

2024-09-01 08:30:31
字體:
供稿:網(wǎng)友

你知道Ajax如何實現(xiàn)表單驗證嗎?我們可以在做項目的時候經(jīng)常會使用到表單驗證的方法,但是很多小伙伴們都不知道Ajax表單驗證的實現(xiàn)代碼是怎樣的,那么我們現(xiàn)在就去看看吧。

兼容: opera 9.6 + chrome 2.0 + FF 3 + IE 6
效果:一邊輸入一邊實現(xiàn)驗證
環(huán)境:ruby 1.8.6 + rails 2.1.0 + windows
核心代碼:
html:
瀏覽器禁用javascript時顯示提示信息:

?

<noscript>
<div style="color:red">您的瀏覽器不支持javascript,部分功能無法使用</div>
</noscript>


當瀏覽器禁用JS后,提交按鈕不可用,實現(xiàn)客戶端驗證!

?

?

?


<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實現(xiàn)監(jiān)聽表單域:
<input type="text" class="textbox" onfocus="checkLogin(this);" onkeyup="checkLogin(this);" style="width:120px;" />
ajax的自動驗證:其中用到一個bp.js,是已經(jīng)封裝好的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返回數(shù)據(jù)給客戶端,當然可以是任何平臺下的,例如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

Ajax如何實現(xiàn)表單驗證?看完本文后你是否學會了Ajax表單驗證的實現(xiàn)代碼呢?如果你還不了解的話就留言給小編吧!

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 西吉县| 和林格尔县| 柳河县| 浦城县| 简阳市| 南安市| 衡水市| 深水埗区| 博白县| 二手房| 龙泉市| 普宁市| 札达县| 五家渠市| 客服| 达拉特旗| 平江县| 营山县| 邵阳市| 石台县| 平泉县| 甘肃省| 康马县| 华阴市| 绵阳市| 靖江市| 泸州市| 克什克腾旗| 邛崃市| 兰西县| 平江县| 保山市| 家居| 门源| 沈阳市| 漠河县| 呼伦贝尔市| 区。| 天等县| 滁州市| 秀山|