读书人

一些惯用的JS方法

发布时间: 2012-10-06 17:34:01 作者: rapoo

一些常用的JS方法
出来工作几年了, 一直没养成备份知识的习惯, 要用了直接百度. 留个备份,免得麻烦!

获取地址的参数

function search(param) {var re=new RegExp("[&,?]"+param+"=[^\\&]*","i");var str=re.exec(document.location.search);if(str == null || str=="" || str.length==0){    return "";} else {str = str+"";str = str.split("=")[1];    return str;}}


input type="file" 不可编辑
今天在做项目的时候,遇到上传文本框的问题,
<input type="file" size="100" name="photoupload" />
在firefox中,该控件产生的文本框是默认不可编辑的,但是在IE下,该文本框可编辑,
根据用户需要,此文本框应为不可编辑。
但是直接将其设置为“readonly”或者“disabled”后,对应的浏览按钮也无法使用了。所以此法不通。

在网上搜索了一些资料,主要有以下几种方法:
1.变通处理:
<input type=file id=a1 style="visibility:hidden"><input id=a2 type=text readonly><input type=button value=浏览 onclick="a1.click(); a2.value= a1.value">

2.增加如下属性:
contenteditable="false"

实例代码:
<input type="file" style="width: 446px" id="ptlFile" contenteditable="false"/>




去空格:
String.prototype.trim = function() {       return this.replace(/^\s\s*/, '').replace(/\s\s*$/, '');   }  


计算字符串长度:
function getBytesLength(str) {    return str.replace(/[^\x00-\xff]/g, 'xx').length;   }


为textarea设置maxlength属性:
1.如果只是想限制字数, 又不想写太多的话, 可以用
<textarea onkeyup="this.value = this.value.slice(0, 80)"></textarea>//或者<textarea onkeyup="this.value = this.value.substring(0, 80)"></textarea>

2.首先在textarea 上定义一个 maxlength 属性:
<textarea rows="3" cols="40" maxlength="200" onkeydown="checklength(this);"></textarea>// 加上这个方法function checklength(obj) {        var max = obj.maxlength;         if(max == null || max == "" || max == undefined) {            return;        }        if(obj.value.length > max) {            alert("请不要超过最大长度:" + max);            obj.value=obj.value.substring(0,(max-1));            return;        }    }

读书人网 >JavaScript

热点推荐