欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

asp.net关于onpropertychange和oninput事件实现代码

程序员文章站 2024-03-09 13:48:53
整体思路是这样,当文本框的值改变时触发事件,对列表中原有的值进行过滤。 根据这个思路,首先需要解决的无非是确定文本框的什么事件可以满足要求,当时第一个想到的是onkeydo...
整体思路是这样,当文本框的值改变时触发事件,对列表中原有的值进行过滤。

根据这个思路,首先需要解决的无非是确定文本框的什么事件可以满足要求,当时第一个想到的是onkeydown或者onkeypress,在试的过程中发现再输入中文时,无法响应,因为输入方会将焦点给屏蔽了。在网上寻觅了一会发现onpropertychange事件为改变文本属性时就会出发,所以当文本框输入数据的时候其实是在改变文本框的value属性。而且中文也可以满足,本以为大功告成,最后才发现这个事件为ie的专属事件,其他的浏览器并没有该事件。而对应的oninput则可以满足需求。


具体的实现是,文本框,隐藏按钮,当在文本框输入内容时,调用onpropertychange或oninput事件,在这个事件中找到隐藏的按钮,然后出发他的click事件,这样我们只需要在后台隐藏按钮的click事件中去过滤列表数据(当然前面的出发隐藏按钮的事件是用javascript来做的,需要注意的就是在前台获取服务端控件的clienid)脚本代码如下:

复制代码 代码如下:

<script type="javascript/text" language="javascript">
function btnclick()
{
var btnid = "<%=this.btnsearch.clientid%>";
var btnobject = document.getelementid(btnid);
if(btnobject)
{
btnobject.click();
}
}
</script>