前言:其实,我们只要相信,任何东西都可以取到,任何东西都可以操作,任何东西都可以编程。因为所有的东西都是人规定的。而且,我们能想到的他们都想到了,我们没有想到的他们也想到了。
做了這麼久的項目了,有一些很簡單的東西仍然需要去查,很麻煩。現在的公司能夠上網,就順便把一些常用到的記錄下來,備忘一下。
1.禁用、啟用控件
document.getElementById("controlID").disabled=true;
document.getElementById("controlID").disabled=false;
2.清空頁面上所有控件的值
window.document.forms[0].reset();
3.清空頁面上所有textbox的值
function ClearAllText()
{
var obj=window.document.forms[0];
for(i=0;i<obj.elements.length; i++)
{
var elem=obj.elements[i];
if(elem)
{
if(elem.type=="text")
{
elem.value="";
}
}
}
}
4.客戶端JavaScript觸發服務器控件Button的click事件
document.getElementById(' <%= Button1.ClientID %>').click();
5.去掉字符中的所有逗号
如题: var oldstr=123,456,789.00
var newstr=oldstr.replace(",","")
alert(newstr)
输出为:123456,789.00
但是我想去掉所有逗号,咋整?
OK,Look!
var newstr=oldstr.replace(/,/g,"")
alert(newstr)
输出为:123456789.00
Oh,yeah.就是我想要的!
6.文本框内容自动变为大写
利用CSS:<input name="inp" type="text" style="text-transform:uppercase;" />
text-transform 有四个可选:
none 默认值。无转换发生
uppercase 转换成大写
lowercase 转换成小写
capitalize 将每个单词的第一个字母转换成大写,其余无转换发生
7.為下拉框指定值
<asp:DropDownList ID="ddl" runat="server" >
<asp:ListItem Value="0">选项0</asp:ListItem>
<asp:ListItem Value="1">选项1</asp:ListItem>
</asp:DropDownList>
由下面的語句指定:
document.getElementById("ddlFolder").value="givevalue";//givevalue为你要选中的项的value
8.獲取頁面上的img對象
imgs =document.getElementsByTagName("img")
for(var i=0;i<imgs.length;i++)
{
imgs[i].src="圖片路徑"
}
9.this关键字
关键字this总是指向调用该方法的对象。
10.arguments对象
在函数代码中,有一种特殊对象arguments,我们无需明确指出参数名,就能访问它们。例如:
function sayHi(message){
alert(message);
}
它的第一个参数是message,用arguments[0]也可以访问这个值,即第一个参数的值(第一个参数位置位于0,第二个参数位置位于1,以此类推)。
因此,无需明确命名参数,就可以重写函数:
function sayHi(){
alert(arguments[0]);
}
除了访问参数外,还可以用它来检测传给函数的参数的个数,引用属性arguments.length即可。
下面的代码将输出每次调用函数使用的参数个数:
function howmanyArgs(){
alert(arguments.length)
}
howmanyArgs("string",45)//outputs 2
howmanyArgs("string") //outputs 1
howmanyArgs() //outputs 0
与其他程序语言不同,ECMAScript不会验证传递给函数的参数个数是否等于函数定义的参数个数。开发者定义的函数都可以接受任意个数的参数(根据Netscape的文档,最多能接受25个),
而不会引发错误。任何遗漏的参数都会以undefined传递给函数,多余的参数将忽略。
用arguments对象可以判断传递给函数的参数个数,即可模拟函数重载:
function doAdd(){
if(argument.length==1){
alert(arguments[0]+10);
}
else{
alert(arguments[0]+arguments[1]);
}
}
doAdd(10); //outputs 20
doAdd(30,20);//outputs 50
11.闭包
JavaScript支持闭包(closure)。所谓闭包,是指词法表示包括不必计算的变量的函数,也就是说,该函数能使用函数外定义的变量。在ECMAScript中使用全局变量就是一个简单的闭包的例子。
如下代码:
var message="Hello world!";
function sayHelloWorld(){
alert(message);
}
sayHelloWorld(); //outputs Hello world!
在一个函数中定义另一个函数会使闭包变的更复杂,如下所示:
var iBaseNum=10;
function addNumbers(iNum1,iNum2){
function doAdditon(){
return iNum1+iNum2+iBaseNum;
}
return doAddition();
}
这里,函数addNumbers()包括函数doAddtion()(闭包)。内部函数是个闭包,因为它将获取外部函数的参数iNum1和iNum2以及全局变量iBaseNum的值。addNumbers的最后一步调用了内部函数,把两个参数和全局变量相加,并返回它们的和。这里要掌握的重要概念是doAddition函数根本不接受参数,它使用的值是从执行环境中获取的。
12.页面传参问题
如: default.aspx?para1 =1¶2=2
在页面default.aspx.cs中接收參數para1时,无论如何都是null,而para2完全正常,为啥呢?传的值是1呀?
答案是:在para1与“=”之间多出了一个空格,请大家仔细看!