JS实时获取输入框中的值

   实时获取input输入框中的值需要oninput和onpropertychange属性来实现。原因是onpropertychange属性为IE专属,而oninput属性支持大部分浏览器包括IE9及以上的版本。

  oninput与onpropertychange失效的情况:
   oninput事件:1. 在脚本中改变value时,不会触发;2.从浏览器的自动下拉提示中选取时,不会触发。

例如:

    var testinput = document.createElement(‘input‘);
    if(‘oninput‘ in testinput){
        object.addEventListener("input",fn,false);
    }else{
        object.onpropertychange = fn;
    }

或者

    var ie = !!window.ActiveXObject;
    if(ie){
        object.onpropertychange = fn;
    }else{
        object.addEventListener("input",fn,false);
    }

下面举个具体的例子

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>Document</title>
	<style>
		*{
			margin: 0;
			padding: 0;
		}
		input{
			display: block;
			border:1px solid #090;
			width: 200px;
			height: 40px;
			line-height: 40px;
			font-size: 16px;
			margin: 50px auto;
			text-indent: 2em;
		}
		p{
			width: 180px;
			padding-left: 10px;
			padding-right: 10px;
			height: 40px;
			background: #090;
			color: #fff;
			line-height: 40px;
			margin: 0 auto;
		}
	</style>
</head>
<body>
	<input type="text" id=‘btn‘ disable=‘disable‘ value="123">
	<p id="title"></p>
	<script>
	 	var oBtn = document.getElementById(‘btn‘);
	 	var oTi = document.getElementById(‘title‘);
	 	if(‘oninput‘ in oBtn){
	    		oBtn.addEventListener("input",getWord,false);
			}else{
	    		oBtn.onpropertychange = getWord;
			}
	 	// var ie = !!window.ActiveXObject;
	 //    if(ie){
	 //        oBtn.onpropertychange = getWord;
	 //    }else{
	 //        oBtn.addEventListener("input",getWord,false);
	 //    }
	 	function getWord(){
	 		oTi.innerHTML = oBtn.value;
	 	}
	</script>
</body>>
</html

演示:

时间: 2025-01-11 04:40:28

JS实时获取输入框中的值的相关文章

RootFramework框架实现文件读取和上传以及使用JavaScript获取fields中的值

1.项目中使用的相对路径需要转换成绝对路径,(Python方法实现 os.path.abspath('path')) 2.choose file [locators,file_path](传入参数文件存放的fields 以及传入的文件路径) 3.获取输入框中的值 :execute JavaScript return document.getElementById("id").value

JS中获取数据库中的值

在本次项目中,遇到很多问题,经过努力,都逐步得到解决.静下心来,做一个记录,以供以后学习. 在项目中遇到一个问题,需要在JS中读取数据库中的值,然后再把值返回到页面中,解决方案如下:使用Ajax方法来实现,需要用到ajax.dll(一个ajax技术开发的帮助类库). 实施过程如下: 1.引用Ajax.dll 2.在App_Code写具体的方法,最好单独建立一个类文件,然后写具体方法. public class AjaxMethod www.2cto.com { public AjaxMethod

获取textarea文本框所选字符光标位置索引,以及选中的文本值;textarea高度自适应,随着内容增加高度增加;获取输入框中的光标位置

获取textarea文本框所选字符光标位置索引,以及选中的文本值 $.fn.selection = function () { var s, e, range, stored_range; if (this[0].selectionStart == undefined) { var selection = document.selection; if (this[0].tagName.toLowerCase() != "textarea") { var val = this.val()

如何实时获取DBGrid 中当前单元格输入的内容?

如何获取DBGrid 中当前单元格输入的内容? 还没输入完成,我想实时获取 Cell中的内容,以便作其他处理, 用什么事件呢? 所以Field的Onchange事件是没用的. 这个问题简单啊,每输入1个数据的后就提交(并不是提交到数据库,还是在编辑状态),那么用DataSet就可以取值了 用DBGrid的KeyUp事件: procedure TForm1.DBGrid1KeyUp(Sender: TObject; var Key: Word;   Shift: TShiftState); beg

(很难啊)如何实时获取DBGrid 中当前单元格输入的内容? [问题点数:100分,结帖人yifawu100]

如何获取DBGrid 中当前单元格输入的内容? 还没输入完成,我想实时获取 Cell中的内容,以便作其他处理,用什么事件呢? 所以Field的Onchange事件是没用的. DBGrid1.SelectedField.AsStringDBGrid1.SelectedField.Text看你需要选择 这个问题简单啊,每输入1个数据的后就提交(并不是提交到数据库,还是在编辑状态),那么用DataSet就可以取值了用DBGrid的KeyUp事件: procedure TForm1.DBGrid1Key

html页面通过ajax请求获取session中的值

在利用springboot进行web开发时,遇到这样一个问题:html如何获取session中的值,实现用户登录系统后首页展示xx欢迎您. 也就是需要实现html通过ajax请求获取session中的值. 1.登录页面 <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <meta charset="utf-8"> <meta http-equiv=&quo

struts2 jsp表单提交后保留表单中输入框中的值 下拉框select与input

原文地址:struts2 jsp表单提交后保留表单中输入框中的值 下拉框select与input jsp页面 1     function dosearch() {2         if ($("#textValue").val() == "") {3                 $("#errortip").html("<font color='#FF0000'>请输入查询内容</font>")

jQuery遍历table中的tr td并获取td中的值

jQuery遍历table中的tr td并获取td中的值 $(function(){ $("#tableId tr").find("td").each(function(){ <span style="white-space:pre"> </span> var year = $("#year").val(); var month = $("#month").val(); var da

selenium+java:获取列表中的值

selenium+java:获取列表中的值 (2011-08-23 17:14:48) 标签: 杂谈 分类: selenium 初步研究利用java+testNg框架下写selenium测试用例,今天学会了几个API:(1)获取页面上列表中的值,并打印输出:System.out.println(selenium.getTable("xpath=/html/body/div[3]/form/table.1.1")); //输出列表中第1行第1列的值(2)判断页面上是否有某个文本:(只能判