asp.net關(guān)于onpropertychange和oninput事件實(shí)現(xiàn)代碼
更新時間:2009年11月26日 18:58:03 作者:
文本框,數(shù)據(jù)列表,當(dāng)在文本框中輸入條件時需要實(shí)時刷新數(shù)據(jù)列表,而且需要滿足多瀏覽器(IE6.0/7.0/8.0,FireFox,Opera,google chrome,Safair)其功能類似google的智能匹配,我是用asp.net實(shí)現(xiàn)的。
整體思路是這樣,當(dāng)文本框的值改變時觸發(fā)事件,對列表中原有的值進(jìn)行過濾。
根據(jù)這個思路,首先需要解決的無非是確定文本框的什么事件可以滿足要求,當(dāng)時第一個想到的是onkeydown或者onkeypress,在試的過程中發(fā)現(xiàn)再輸入中文時,無法響應(yīng),因?yàn)檩斎敕綍⒔裹c(diǎn)給屏蔽了。在網(wǎng)上尋覓了一會發(fā)現(xiàn)onpropertychange事件為改變文本屬性時就會出發(fā),所以當(dāng)文本框輸入數(shù)據(jù)的時候其實(shí)是在改變文本框的value屬性。而且中文也可以滿足,本以為大功告成,最后才發(fā)現(xiàn)這個事件為IE的專屬事件,其他的瀏覽器并沒有該事件。而對應(yīng)的oninput則可以滿足需求。
具體的實(shí)現(xiàn)是,文本框,隱藏按鈕,當(dāng)在文本框輸入內(nèi)容時,調(diào)用onpropertychange或oninput事件,在這個事件中找到隱藏的按鈕,然后出發(fā)他的click事件,這樣我們只需要在后臺隱藏按鈕的click事件中去過濾列表數(shù)據(jù)(當(dāng)然前面的出發(fā)隱藏按鈕的事件是用javascript來做的,需要注意的就是在前臺獲取服務(wù)端控件的ClienID)腳本代碼如下:
<script type="javascript/text" language="javascript">
function btnClick()
{
var btnID = "<%=this.btnSearch.ClientID%>";
var btnObject = document.getElementID(btnID);
if(btnObject)
{
btnObject.click();
}
}
</script>
根據(jù)這個思路,首先需要解決的無非是確定文本框的什么事件可以滿足要求,當(dāng)時第一個想到的是onkeydown或者onkeypress,在試的過程中發(fā)現(xiàn)再輸入中文時,無法響應(yīng),因?yàn)檩斎敕綍⒔裹c(diǎn)給屏蔽了。在網(wǎng)上尋覓了一會發(fā)現(xiàn)onpropertychange事件為改變文本屬性時就會出發(fā),所以當(dāng)文本框輸入數(shù)據(jù)的時候其實(shí)是在改變文本框的value屬性。而且中文也可以滿足,本以為大功告成,最后才發(fā)現(xiàn)這個事件為IE的專屬事件,其他的瀏覽器并沒有該事件。而對應(yīng)的oninput則可以滿足需求。
具體的實(shí)現(xiàn)是,文本框,隱藏按鈕,當(dāng)在文本框輸入內(nèi)容時,調(diào)用onpropertychange或oninput事件,在這個事件中找到隱藏的按鈕,然后出發(fā)他的click事件,這樣我們只需要在后臺隱藏按鈕的click事件中去過濾列表數(shù)據(jù)(當(dāng)然前面的出發(fā)隱藏按鈕的事件是用javascript來做的,需要注意的就是在前臺獲取服務(wù)端控件的ClienID)腳本代碼如下:
復(fù)制代碼 代碼如下:
<script type="javascript/text" language="javascript">
function btnClick()
{
var btnID = "<%=this.btnSearch.ClientID%>";
var btnObject = document.getElementID(btnID);
if(btnObject)
{
btnObject.click();
}
}
</script>
相關(guān)文章
ASP.NET 在下載文件時對其重命名的思路及實(shí)現(xiàn)方法
ASP.NET 在下載文件時對其重命名的思路及實(shí)現(xiàn)方法,需要的朋友可以參考一下2013-06-06淺談從ASP.NET Core2.2到3.0你可能會遇到這些問題
這篇文章主要介紹了ASP.NET Core2.2到3.0可能會遇到的問題,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-04-04Server.Transfer,Response.Redirect的區(qū)別
Server.Transfer,Response.Redirect的區(qū)別...2006-12-12ASP.NET Core MVC/WebApi基礎(chǔ)系列1
這篇文章主要介紹了ASP.NET Core MVC/WebApi基礎(chǔ)系列,后續(xù)會穿插講EF Core和ASP.NET Core,雖說是基礎(chǔ)系列但也是也有你不知道的。2019-04-04Asp.net Core 如何設(shè)置黑白名單(路由限制)
本文主要介紹了Asp.net Core 如何設(shè)置黑白名單(路由限制),文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2021-08-08詳解ASP.NET Core 2.0 路由引擎之網(wǎng)址生成(譯)
這篇文章主要介紹了詳解ASP.NET Core 2.0 路由引擎之網(wǎng)址生成(譯),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-11-11.Net通過TaskFactory.FromAsync簡化APM
這篇文章介紹了.Net通過TaskFactory.FromAsync簡化APM的方法,文中通過示例代碼介紹的非常詳細(xì)。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2022-06-06