前言:其实,我们只要相信,任何东西都可以取到,任何东西都可以操作,任何东西都可以编程。因为所有的东西都是人规定的。而且,我们能想到的他们都想到了,我们没有想到的他们也想到了。
做了這麼久的項目了,有一些很簡單的東西仍然需要去查,很麻煩。現在的公司能夠上網,就順便把一些常用到的記錄下來,備忘一下。
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 2howmanyArgs("string") //outputs 1howmanyArgs() //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 5011.闭包
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与“=”之间多出了一个空格,请大家仔细看!