搜尋此網誌

顯示具有 java script 標籤的文章。 顯示所有文章
顯示具有 java script 標籤的文章。 顯示所有文章

2011年12月6日 星期二

asp讀取資料庫範例碼(較正規)


dim DSN, Conn, Rs
DSN = "Driver={SQL Server};Server=dbname;UID=id;PWD=password;"
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open DSN
Set Rs = Server.CreateObject("ADODB.Recordset")
Rs.Open "Select * From [db].dbo.[table] Where 1 = 1", Conn, 3, 1
If Rs.RecordCount > 0 And Not Rs.EOF Then
 response.write(Rs(0))
End If
Rs.Close: Set Rs = Nothing
Conn.Close: Set Conn = Nothing

2011年11月15日 星期二

取得目前的物件XY座標(取得取物件定位)


寫js時, 三不五時會用到的
就是要找物件的xy座標來做定位
這時, 就要借用offset屬性了
var obj = document.getElementById('theobj.id');
var x = obj.offsetLeft;
var y = obj.offsetTop;
alert('x:'+x+', y:'+y);

2011年9月15日 星期四

在WIN7裡IE8的開發人員工具打不開的解決辦法

IE8新增了開發人員工具,非常不錯,比早期的DevToolbar好用多了。不過在我的Win7下使用的時候偶爾會出現一個莫名其妙的問題,就是整個開發人員工具窗口消失了,打不開了。當你使用win+Tab切換窗口的時候,整個開發者工具光是顯示一片透明的區域,選中之後怎麼都出不來。這個問題那會困擾了我很久,後來發現一個辦法可以解決。就是在工具欄上將鼠標移到那個開發人員工具窗口圖標上,注意,是圖標,不是窗口。然後右鍵,選擇最大化,這個時候,熟悉的開發人員工具窗口就出現了。

2011年9月6日 星期二

JavaScript 字串轉型成數字


Javascript 據我所知有三種方法可以把字串變成數字。

第一種就是最常見的 parseInt 函式 。

另外一種則是利用 Number 這個類別轉換。

還有一個比較少人知道的則是利用減法運算元,例如:var j="123"-0;

javascript 增加表單中select的option

其實不會很難(爆)

js的部份

function add_option()
{
//先用getElementById取得select的id
var s = document.getElementById('go');
//這兩個可以用其他方式取得,端看怎麼使用
var t = document.getElementById('t').value;
var v = document.getElementById('v').value;
var ori_count = s.length;
//其實重點只有下面這兩行XD
var new_option = new Option(t,v);
s.options.add(new_option);
var new_count = s.length;
//這邊只是要驗證是不是有增加成功
//新的option個數會比原本的個數多
if( new_count > ori_count )
alert('新增成功');
else
alert('新增失敗');
}
 html的部份

<select name="go" id="go">
<option value="">請選擇</option>
<option value="apple" selected>蘋果</option>
<option value="banana" >香蕉</option>
</select>
<br />
值:<input type="text" name="v" id="v"><br />
文字:<input type="text" name="t" id="t"><br />
<input type="button" onclick="add_option()" value="新增option">
 這裡可以看範例

清除所有項目更簡單
<script> 
document.getElementById("xxxx").length = 0;  
</script>


或



<script> 
var s = document.getElementById("xxxx")
s.length = 0;  
</script>





2011年8月18日 星期四

讓TextBox限制無法輸入(但是不要唯讀)

<INPUT TYPE="text" NAME="INVOICE_NO_QC" onkeydown="return(false);">

javascript的正則運算式


//校驗是否全由數字組成
function isDigit(s)
{
var patrn=/^[0-9]{1,20}$/;
if (!patrn.exec(s)) return false
return true
}

//校驗登錄名:只能輸入5-20個以字母開頭、可帶數位、“_”、“.”的字串
function isRegisterUserName(s)
{
var patrn=/^[a-zA-Z]{1}([a-zA-Z0-9]|[._]){4,19}$/;
if (!patrn.exec(s)) return false
return true
}

//校驗用戶姓名:只能輸入1-30個以字母開頭的字串
function isTrueName(s)
{
var patrn=/^[a-zA-Z]{1,30}$/;
if (!patrn.exec(s)) return false
return true
}

//校驗密碼:只能輸入6-20個字母、數位、下劃線
function isPasswd(s)
{
var patrn=/^(w){6,20}$/;
if (!patrn.exec(s)) return false
return true
}

//校驗普通電話、傳真號碼:可以“+”開頭,除數字外,可含有“-”
function isTel(s)
{
//var patrn=/^[+]{0,1}(d){1,3}[ ]?([-]?(d){1,12})+$/;
var patrn=/^[+]{0,1}(d){1,3}[ ]?([-]?((d)|[ ]){1,12})+$/;
if (!patrn.exec(s)) return false
return true
}

//校驗手機號碼:必須以數位開頭,除數字外,可含有“-”
function isMobil(s)
{
var patrn=/^[+]{0,1}(d){1,3}[ ]?([-]?((d)|[ ]){1,12})+$/;
if (!patrn.exec(s)) return false
return true
}

//校驗郵遞區號
function isPostalCode(s)
{
//var patrn=/^[a-zA-Z0-9]{3,12}$/;
var patrn=/^[a-zA-Z0-9 ]{3,12}$/;
if (!patrn.exec(s)) return false
return true
}

//校驗搜索關鍵字
function isSearch(s)
{
var patrn=/^[^`~!@#$%^&*()+=|\][]{}:;',.<>/?]{1}[^`~!@$%^&()+=|\][]{}:;',.<>?]{0,19}$/;
if (!patrn.exec(s)) return false
return true
}

function isIP(s) //by zergling
{
var patrn=/^[0-9.]{1,20}$/;
if (!patrn.exec(s)) return false
return true
}


正則運算式
"^\d+$"  //非負整數(正整數 + 0)
"^[0-9]*[1-9][0-9]*$"  //正整數
"^((-\d+)|(0+))$"  //非正整數(負整數 + 0)
"^-[0-9]*[1-9][0-9]*$"  //負整數
"^-?\d+$"    //整數
"^\d+(\.\d+)?$"  //非負浮點數(正浮點數 + 0)
"^(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*))$"  //正浮點數
"^((-\d+(\.\d+)?)|(0+(\.0+)?))$"  //非正浮點數(負浮點數 + 0)
"^(-(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*)))$"  //負浮點數
"^(-?\d+)(\.\d+)?$"  //浮點數
"^[A-Za-z]+$"  //由26個英文字母組成的字串
"^[A-Z]+$"  //由26個英文字母的大寫組成的字串
"^[a-z]+$"  //由26個英文字母的小寫組成的字串
"^[A-Za-z0-9]+$"  //由數位和26個英文字母組成的字串
"^\w+$"  //由數位、26個英文字母或者下劃線組成的字串
"^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$"    //email地址
"^[a-zA-z]+://(\w+(-\w+)*)(\.(\w+(-\w+)*))*(\?\S*)?$"  //url

2011年8月16日 星期二

JavaScript 和 VBScript 的混用


有時因為種種原因我們想在javascript中實現一些vbscript的功能,例如:想在javascript中去除某個字符串兩邊的空格,這個功能是vbscript的trim函數,可是javascript中卻沒有類似的函數,當然,我們可以自己構造一個函數,但更為簡單的辦法是讓javascript和vbscript混用,實現如下:




<script language=vbscript>
function vbtrimstr(temstr)
vbtrimstr=trim(temstr)
end function
</script>


<script language=javascript>
function trimstr(temstr){
return vbtrimstr(temstr);
}
</script>


又如javascript的alert和confirm方法都不能更改其標題欄的內容,可是vbscript的msgbox函數可以,透過如下的方法就可完成實現:


<script language=vbscript>
function tc()
msgbox "測試測試"
end function
</script>


<script language=javascript>
function javatc(){
tc();
}
</script>


2011年8月12日 星期五

JavaScript 取得目前網址 (以及其他資訊)


假設現在我有個網頁,網址是:http://functionlab.org:80/tools/tcpproxy.php?user=FUNction#showscript
如果這網頁上有以下JavaScript 程式碼

<script type="text/javascript">
    //http://www.w3schools.com/htmldom/dom_obj_location.asp
    document.write("location.href : "+location.href+"<br/>");
    document.write("location.protocol : "+location.protocol+"<br/>");
    document.write("location.hostname : "+location.hostname+"<br/>");
    document.write("location.host : "+location.host+"<br/>");
    document.write("location.port : "+location.port+"<br/>");
    document.write("location.pathname : "+location.pathname+"<br/>");
    document.write("location.search : "+location.search+"<br/>");
    document.write("location.hash : "+location.hash+"<br/>");
</script>


那該網頁會顯示:
location.href : http://functionlab.org:80/tools/tcpproxy.php?user=FUNction#showscript
location.protocol : http
location.hostname : functionlab.org
location.host : functionlab.org:80
location.port : 80
location.pathname : /tools/tcpproxy.php
location.search : ?user=FUNction
location.hash : #showscript

天哪!! 真是方便 :-)

2011年7月8日 星期五

ASP.Net 中 Alert、Confirm、Prompt 的用法

Asp.net中,有的時候在執行某個操作的時候希望能夠彈出一些信息框:alert彈出的警告信息框,confirm彈出的包含確認和取消兩個按鈕的信息框,以及prompt彈出的輸入對話框。
這裡有兩種方法來實現。
一種是採用javascript函數來實現,代碼將應用與.aspx文件的源代碼(html語言)中,在HTML控件中調用javascript函數來實現Alert、Confirm、Prompt。
另一種則是在web窗體的.aspx.cs文件中使用。 alert和prompt可以用Response.Write()來直接使用,Confirm則需要將其加入到Web服務器控件的屬性上。 下面我們就分別針對這兩種方法來舉幾個例子。
1、我們創建兩個HTML按鈕來分別調用javascript函數,一個按鈕用來彈出confirm信息框,另一個用來彈出prompt信息框,操作結果用alert彈出。
代碼:
<html>
<head>
    <title></title>
    <script language="ecmascript">
    <!--
        function delCheck()
        {
            var flag=window.confirm("確實要刪除嗎?");
            if(flag==true)
                alert("已經刪除!");
        }
        function dataCheck()
        {
            var data=window.prompt("輸入一個1-10之間的數","7");
            if(data!=null)
                alert("你輸入的是:"+data);
        } 
    //-->
    </script>
</head>
<body>
    <form id="form1">
    <input name="del" type="button" id="Button2" value="刪除記錄" onclick="delCheck()">
    <input name="in" type="button" id="in" value="輸入數據" onclick="dataCheck()">
    </form>
</body>
</html>

2、在ASP.NET的.aspx.cs文件中使用:
(1)Alert的使用:
代碼:
Response.Write("<script>alert('密碼不正確!')</script>");

(2)Confirm的使用:點擊Button3按鈕的是否,彈出confirm對話框,選擇"確定"的時候則開始執行相應的按鈕操作。
在page_load添加如下代碼:
代碼:
protected void Page_Load(object sender, EventArgs e)
{
      Button3.Attributes.Add("onclick ", "return confirm( '確認要修改嗎?');"); 
}
protected void Button3_Click(object sender, EventArgs e)
{
      //Button3的按鈕操作,可自行定義
      Response.Write("您選擇的是確定操作!");
}
(3)Prompt的使用:
代碼:
Response.Write("<script> var result=window.prompt('請輸入新文件名:)' , 'ABC'); if(result!=null) alert('你輸入的是'+result);</script>");

2011年7月3日 星期日

關於java script的變數生命週期

預設:全域
&lt;script language="javascript"&gt;
v1 = 1
function f1()
{
    v1 = 2
    v2 = 1 + v1
    document.write(v1)
}
&lt;/script&gt;
以上執行結果是:3
若改成
&lt;script language="javascript"&gt;
v1 = 1
function f1()
{
    var v1 = 2
    v2 = 1 + v1
    document.write(v1)
}
&lt;/script&gt;
以上執行結果是:3
雖然結果都是一樣,但是第二個範例的v1二個內容值是不一樣的

java script 脫逸字元

\?&nbsp;&nbsp;-&gt;&nbsp; ?
\"&nbsp;&nbsp;-&gt;&nbsp; "
\'&nbsp;&nbsp;-&gt;&nbsp; '
\\&nbsp;&nbsp;-&gt;&nbsp; \
\a&nbsp;&nbsp;-&gt;&nbsp;響音
\b&nbsp;&nbsp;-&gt;&nbsp;退位
\f&nbsp;&nbsp;-&gt;&nbsp; 換頁
\n&nbsp;&nbsp;-&gt;&nbsp; 換行
\r&nbsp;&nbsp;-&gt;&nbsp; home
\t&nbsp;&nbsp;-&gt;&nbsp; tab
\v&nbsp;&nbsp;-&gt;&nbsp;垂直定位
\0 &nbsp;-&gt;&nbsp;空白