javascript 表单处理(三)

addEvent(window,"load",function(){
	var fm = document.getElementById("myForm");
	var user = fm.elements["user"];
	var content = fm.elements["content"];
	
	alert(content);
	alert(user.value);       HTML DOM获取
	alert(content.value);
	
	//PS:在HTML中input有 value属性,textarea没有value属性
	//PS:在js中 input和textarea都有value属性
});


addEvent(window,"load",function(){
	var fm = document.getElementById("myForm");
	var user = fm.elements["user"];
	var content = fm.elements["content"];
	
	//使用标准DOM获取
	
	//alert(user.getAttribute("value"));
	//alert(content.getAttribute("value"));  //兼容性会有问题,IE可以获取,非IE获取不到

	//alert(user.getAttribute("value"));     //标准DOM无法获取更改后的value
	alert(user.value);
});
alert(user.defaultValue);   //获取一开始的value值,不会改变

user.select();     //选定文本


//选择部分文本
	user.setSelectionRange(0,1);   //从第0个位置到第1个位置
	//user.setSelectionRange(0,user.value.length);
	user.focus();    //焦点移入
	
	//PS:非IE是从第N个到第M个位置
	
	//IE文本范围的概念,这个知识,我们没有讲过,这里就先简单用一下
	//W3C也有一个范围的概念,叫做DOM范围,以后有时间,系统的讲解
	
	
	var range = user.createTextRange(); //range对象,文本范围
	range.collapse(true);               //将文本指针移到开头
	range.moveStart("character",0);     //逐字移动,0
	range.moveEnd("character",1);       //同上
	range.select();
	
	
	//PS:IE是从第N个开始选择M个
	
	//跨浏览器选定部分文本
	
	addEvent(window,"load",function(){
	var fm = document.getElementById("myForm");
	var user = fm.elements["user"];
	var content = fm.elements["content"];
	
	getSelectText(user,1,3);
});


function getSelectText(text,start,num){
	if(text.setSelectionRange){
		text.setSelectionRange(start,num);
		text.focus();
	}else if(text.createTextRange){
		var range = text.createTextRange();
		range.collapse(true);
		range.moveStart("character",start);
		range.moveEnd("character",num - start);         //用最后的位置-开始的位置 = 个数
		range.select();
	}
}

addEvent(window,"load",function(){
var fm = document.getElementById("myForm");
var user = fm.elements["user"];
var content = fm.elements["content"];

//select事件
	addEvent(user,"select",function(){

		//alert(this.selectionStart);
		//alert(this.selectionEnd);
		//alert(this.value.substring(this.selectionStart,this.selectionEnd));
		//alert(document.selection.createRange().text);
		document.getElementById("p").innerHTML = getSelectText(user);
	});

	//非IE选定文本并且释放鼠标后触发select事件
	//IE是只要选定了一个字符,就触发select事件,但你的速度比较快,就可以选择多个,但还不稳定
	//document.selection 对象可以选择
	//document.selection 有一个方法可以创建文本范围对象:createRange();
	//createRange()有一个属性是text,可以得到你选择文本

});

function getSelectText(text){
	if(text.selectionStart == "number"){
		return text.value.substring(text.selectionStart,text.selectionEnd);
	}else if(document.selection){
		return document.selection.createRange().text;
	}

}


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值