欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

asp.net中JavaScript數(shù)據(jù)驗(yàn)證實(shí)現(xiàn)代碼

 更新時(shí)間:2010年05月21日 02:37:40   作者:  
我對(duì)JavaScript一直不了解。常常為了一點(diǎn)點(diǎn)的數(shù)據(jù)驗(yàn)證和無刷新就去動(dòng)用AJAX,實(shí)在不爽——有點(diǎn)殺雞用牛刀的感覺。
今天在做一個(gè)數(shù)據(jù)修改的頁面,頁面上有一個(gè)DropDownList控件,綁定的是實(shí)體中的重要屬性,我希望用戶在修改該控件值的時(shí)候,提示用戶,他修改了該控件的值。所以為該下拉控件加上了如下語句。
復(fù)制代碼 代碼如下:

DDLmaterial.Attributes.Add("onchange", "alert('注意:您修改了物品類型!')");

似乎不錯(cuò),不僅有提示效果,也不需要刷新頁面??墒钱?dāng)我打開頁面進(jìn)行測(cè)試的時(shí)候就發(fā)現(xiàn)了問題,當(dāng)我把下拉控件的值改回原值的時(shí)候,它還是會(huì)出現(xiàn)提示,這樣明顯會(huì)給用戶一種莫名其妙的感覺。怎么辦呢,用AJAX 進(jìn)行服務(wù)端驗(yàn)證?這想法太邪惡了,我決定嘗試用JS在客戶端實(shí)現(xiàn)。
實(shí)現(xiàn)的算法很簡(jiǎn)單,首先我去搜索當(dāng)頁面加載后立刻執(zhí)行JS的方法,用于獲取下拉控件綁定數(shù)據(jù)后的初始值。借助GOOGLE獲得了如下的成果
復(fù)制代碼 代碼如下:

window.onload = function() {
var ddl= document.getElementById('DDLmaterial');
var first =ddl.options[ddl.selectedIndex].text;
}

我的理解如下:
第1行: 頁面載入后即執(zhí)行function()——function是關(guān)鍵字吧,怪怪的用法,暫不理他。
第2行: 通過控件ID獲取控件的對(duì)象,這個(gè)var有點(diǎn)object的感覺
第3行: 獲取控件當(dāng)前選中行的值
這下好了,再修改下代碼就實(shí)現(xiàn)我的要求了。
//后臺(tái)代碼
DDLmaterial.Attributes.Add("onchange", "changeAlert()");
前端
復(fù)制代碼 代碼如下:

<script type ="text/javascript" >
var first;
var ddl;
window.onload = function() {
ddl= document.getElementById('DDLmaterial');
first =ddl.options[ddl.selectedIndex].text;
}
function changeAlert() {
var sencond = ddl.options[ddl.selectedIndex].text;
if (sencond != first) {
alert("注意:您修改了物品類型!");
}
}
</script>

總結(jié)一下:突然發(fā)現(xiàn)VS2008居然寫JS代碼的時(shí)候也有智能提示了(這實(shí)在太棒了,菜鳥的福音,JS代碼貌似是執(zhí)行到哪算到哪,出錯(cuò)也不告訴你),看來我已經(jīng)OUT了 囧....

相關(guān)文章

最新評(píng)論