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

整体思路是这样,当文本框的值改变时触发事件,对列表中原有的值进行过滤。

根据这个思路,首先需要解决的无非是确定文本框的什么事件可以满足要求,当时第一个想到的是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>

(0)

相关推荐

  • js propertychange和oninput事件

    还好有propertychange(IE)和oninput事件. oninput是标准浏览器的事件,一般应用于input元素,当input的value发生变化时就会发生,无论是键盘输入还是鼠标粘贴的改变都能即时监听到. 浏览器兼容 IE9以下是不支持的.这个时候就要用到IE专有的propertychange事件.顾名思义,翻译过来叫属性变更事件,这个事件就比较强大了,不仅仅会监听到input的value属性,还包括其他标签的属性各种属性发生变化都会发生该事件,比如span元素的style属性.在

  • javascript开发中使用onpropertychange,oninput事件解决onchange事件的不足

    onchange在用于文本框输入框时,有一个明显的不足. 事件不会随着文字的输入而触发,而是等到文本框失去焦点(onblur)时才会触发. 也就是没有即时性! 在IE下,可以用onpropertychange来代替onchange事件,当文本框有任何变化时,能立即触发此事件. 这样一来问题就解决了. 那其他浏览器呢,onpropertychange可是IE的专利. 接下来就是oninput事件了. 但是oninput有个诡异,必须用addEventListener的方式来绑定事件.否则无效. 好

  • 输入框的字数时时统计—关于 onpropertychange 和 oninput 使用

    网上看到很方便实现这个功能的事件: IE 中的 onpropertychange 非IE中的 oninput 用这两事件的好处是,当在输入框的内容发生变化调用事件,使用key 和 mouse的相关事件会比较复杂,而且这个方法用粘贴方法一样有效. 不过用js改变input的value值不会发生这两个事件. 在中文本框中添加两个事件的方法就可以了.(看到网上说非ie中的oninput方法要用addEventListener绑定,用 element.oninput = function(){...}不

  • js监听输入框值的即时变化onpropertychange、oninput

    要达到的效果 很多情况下我们都会即时监听输入框值的变化,以便作出即时动作去引导浏览者增强网站的用户体验感.比如即时显示输入框已经被输入的字节数,或者即时读取输入的值来进行搜索引导,也就是google的关联搜索效果等. 只要我们能捕获即时事件就能做到很多事情. 需要了解的知识 首先,我们需要了解onchange和onpropertychange的不同: IE下,当一个HTML元素的属性改变的时候,都能通过 onpropertychange来即时捕获. onchange在属性值改变时还必须使得当前元

  • 兼容Firefox和IE的onpropertychange事件oninput

    在文本框输入数据的时候,当键盘按下并放开的时候可以使用onkeyup来检测事件,onpropertychange能够捕获每次改变,而onchange需要执行某个事件才可以捕获.可是有的时候我们输入数据是采用粘贴的方式而不是键盘输入,这就需要实时检测文本框状态的改变.onpropertychange 不被firefox所支持,如果想在firefox下正常使用,需要用oninput属性,且需要用addEventListener来注册事件. //当状态改变的时候执行的函数 function handl

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

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

  • asp.net中绑定TextBox回车事件的解决方法

    1.将页面上的回车事件都绑定到按钮上 复制代码 代码如下: function EnterTextBox(e) { var msie = (document.all) ? true : false; var keycode; if(!msie) keycode = window.event ? e.keyCode : e.which; else keycode = e.keyCode; //alert(keycode); if(keycode==13 && document.getEleme

  • js 事件截取enter按键页面提交事件示例代码

    假如你在一个文本框中按enter事件是让他执行一个js函数,但是不想提交表单,可以这样做: function ysearch() //年文本框回车键后重新加载DataWindow{    validateInputText('yyyy');//想做的第一个js函数    if(event.keyCode==13)    {        changeym();//想做的第二个js函数,做完后把event给清空        event.returnValue=false;//把event事件给截

  • ASP.NET MVC4异步聊天室的示例代码

    本文介绍了ASP.NET MVC4异步聊天室的示例代码,分享给大家,具体如下: 类图: Domain层 IChatRoom.cs using System; using System.Collections.Generic; namespace MvcAsyncChat.Domain { public interface IChatRoom { void AddMessage(string message); void AddParticipant(string name); void GetM

  • 为radio类型的INPUT添加客户端脚本(附加实现JS来禁用onClick事件思路代码)

    下面的例子将展示其结果是没有重载显示提交. 当用户选择一个选项上面,一个函数叫做"getVote()"执行.该功能所引发的"的OnClick"事件 复制代码 代码如下: <html> <head> <script type="text/javascript"> function getVote(int) { if (window.XMLHttpRequest) {// code for IE7+, Firefo

  • Java编程GUI中的事件绑定代码示例

    程序绑定的概念: 绑定指的是一个方法的调用与方法所在的类(方法主体)关联起来.对java来说,绑定分为静态绑定和动态绑定:或者叫做前期绑定和后期绑定 静态绑定: 在程序执行前方法已经被绑定,此时由编译器或其它连接程序实现.例如:C. 针对java简单的可以理解为程序编译期的绑定:这里特别说明一点,java当中的方法只有final,static,private和构造方法是前期绑定 动态绑定 后期绑定:在运行时根据具体对象的类型进行绑定. 若一种语言实现了后期绑定,同时必须提供一些机制,可在运行期间

  • .NET WinFrom中给文本框添加拖放事件的代码

    在开发.NET WinForm程序时,有时候我们希望窗体上的文本框能接受鼠标拖放事件,比如允许将文件直接拖放到文本框中以直接获取到文件的本地路径,或者将选取的字符串直接拖放到文本框中等等.要实现这个功能其实很简单,代码如下. 1. 将文本框的属性AllowDrop设置成True 2. 给文本框添加DragEnter事件 复制代码 代码如下: private void textBox1_DragEnter(object sender, DragEventArgs e) { if (e.Data.G

随机推荐