亚洲真人日本在线,中中文字幕亚洲无线码,亚洲人成网站在线播放影院在线 http://www.tkk7.com/junglesong/category/29615.html世上本無難事,心以為難,斯乃真難。茍不存一難之見于心,則運用之術自出。zh-cnFri, 14 Mar 2008 06:41:09 GMTFri, 14 Mar 2008 06:41:09 GMT60JavaScript基本語法http://www.tkk7.com/junglesong/archive/2008/03/14/186251.html和風細雨和風細雨Fri, 14 Mar 2008 04:49:00 GMThttp://www.tkk7.com/junglesong/archive/2008/03/14/186251.htmlhttp://www.tkk7.com/junglesong/comments/186251.htmlhttp://www.tkk7.com/junglesong/archive/2008/03/14/186251.html#Feedback0http://www.tkk7.com/junglesong/comments/commentRss/186251.htmlhttp://www.tkk7.com/junglesong/services/trackbacks/186251.htmlJavaScript的運行環境和代碼位置

編寫JavaScript腳本不需要任何特殊的軟件,一個文本編輯器和一個Web瀏覽器就足夠了,JavaScript代碼就是運行在Web瀏覽器中。
用JavaScript編寫的代碼必須嵌在一份html文檔才能得到執行,這可以通過兩種方法得到,第一種是將JavaScript代碼直接寫在html文件中,這多用于僅適用于一個頁面的JS程序;另一種是把JavaScript代碼存入一個獨立的文件中(.js作為擴展名),在利用<Script>標簽的src屬性指向該文件.

將JavaScript直接嵌入頁面文件中

<%@ page contentType="text/html; charset=UTF-8" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>歡迎進入"我的事務備忘錄"</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<script src="web/js/strUtil.js" type="text/javascript"></script>
</head>

<body>
<div>這個頁面應該很快消失,如果它停止說明Web容器已經停止運作了,或JavaScript功能未開啟
<form method=post action="ShowPage?page=login">
</form>
<div>
</body>
</html>

<script LANGUAGE="JavaScript">
<!--
document.body.onload=function(){
 document.forms[0].submit();

//-->
</script>


將JavaScript存入單獨的文件中(頁面文件)

<%@ page contentType="text/html; charset=UTF-8" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>"我的事務備忘錄"用戶登錄頁面</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<script src="web/js/ajax.js" type="text/javascript"></script>
<link rel="stylesheet" rev="stylesheet" href="web/css/style.css"
 type="text/css" />
</head>

<body>
<div id="branding">歡迎進入"個人事務備忘錄",請輸入您的用戶名和密碼,再按登錄鍵登錄
<form method=post action="ShowPage?page=loginCheck">
 <table  bgcolor="#ffffff" id="TbSort" class="Listing" width="200" align=center>
  <tbody id="loginTable">
   <tr><th align="center" colspan=3>用戶登錄.</th></tr>
   <tr>
    <td width=50>用戶名:</td>
    <td width=150><input type="text" name="userName" value=""
      style="width: 300px; height: 20px" /></td>
   </tr>
   <tr>
    <td width=50>密碼:</td>
    <td width=150><input type="text" name="userPswd" value=""
      style="width: 300px; height: 20px" /></td>
   </tr>
   <tr>
    <td width=50></td>
    <td width=150><input type="submit" value="登錄"
      style="width: 100px; height: 20px" /></td>
   </tr>
  </tbody>
 </table>
</form>
<div>
</body>
</html>

將JavaScript存入單獨的文件中(ajax.js)

var prjName="/MyTodoes/";
var ajaxObj;

function createAjaxObject(){
 try{return new ActiveXObject("Msxml2.XMLHTTP");}catch(e){};
 try{return new ActiveXObject("Microsoft.XMLHTTP");}catch(e){};
 try{return new XMLHttpRequest();}catch(e){};
 alert("XmlHttpRequest not supported!");
 return null;
}

function $(id){
     return document.getElementById(id);
}

JavaScript中的語句和注釋

JavaScript中的語句和Java中一樣,也是一行書寫一條語句,末尾加上分號’;’,雖然js中也可以把多條語句寫在一行,但推薦不要這樣做.
JavaScript中注釋也和Java中一樣,以// 來注釋單行,/*….*/來注釋多行,雖然HTML風格的注釋<!-- *****  --> 在JS中也有效,但建議不要這樣做.


JavaScript中的變量

在js中,變量允許字母,數字,美元符號和下劃線字符.變量定義使用var關鍵字,如
var age;
age=23;
var name=“andy”;
雖然js允許程序員可以直接對變量進行賦值而無需提前對它們做出聲明,但我們強烈建議不要這樣做.
Js中變量和其它語法元素都是區分字母大小寫的,如變量age,Age,AGE沒有任何關系,它們都不是同一個變量.

JavaScript是一種弱類型語言

和強制要求程序員對數據類型做出聲明的強類型(Strongly typed)程序設計語言如java,C#等不一樣,js不要求程序員進行類型說明,這就是所謂的弱類型”weakly typed”語言.這意味著程序員可以隨意改變某個變量的數據類型.
以下寫法在Java中是絕對不允許的,但在js中完全沒有問題:
var age=23;
age=“Twenty three”
Js并不關心age的值是字符串還是變量.

JavaScript中的數據類型-字符串

字符串必須放在單引號或雙引號中.如
var name=“Andy”;
var name=‘Bill’;
一般情況下宜使用雙引號,但如果字符串中有雙引號則應該把字符串放在單引號中,反之則應該把字符串放在雙引號中.

JavaScript中的數據類型-數值

Js中并沒有int,float,double,long的區別,它允許程序員使用任意位數的小數和整數,實際上js中的數值應該被稱為浮點數.
如:
var salary=10000;
var price=10.1;
var temperature=-6;

JavaScript中的數據類型-布爾值

Js中的布爾值和Java中的一致,true表示真,false表示假,如:
var isMale=true;
var isFemale=false;

注意布爾值true和false不要寫成了字符串”true”和’false’.

JS中的函數

如果需要多次使用同一組語句,可以把這些語句打包成一個函數。所謂函數就是一組允許人們在代碼中隨時調用的語句。從效果上看,每個函數都相當于一個短小的腳本。
和Java中每個函數都在類中不一樣,JS中函數不必屬于一個類,在使用上它類似于Java中的靜態公有函數,只要引入這個函數所在的文件就可以使用它。

JS中函數的語法

JS中,一個函數的大致語法如下:
function fname(args){
      statements;
}
Function是函數的固定標志;fname是函數名;args是函數參數,它可以有很多個,只要你把它們用逗號分割開來即可;statements是其中的語句,每句結尾都和java中一樣用“;”表示結束。

在定義了這個函數的腳本(頁面)中,你可以從任意位置去調用這個函數;引入這個頁面后,你還可以從其它頁面訪問它。

一般來說,對于共通性強,適用面廣,會在多個頁面中調用的函數,我們一般把它們放在一個JS頁面中,然后由需要使用這些函數的頁面引入它們;而對于只適用于一個頁面的函數,還是把它放在單個頁面中較好。

JS函數的返回值

在JS中,函數不僅能夠以參數的形式接受數據,運行代碼,它和其它編程語言中的函數一樣,可以返回數據。
讓JS函數返回數據,你不需要也不能在函數簽名上動任何手腳,只需要用return語句返回你想返回的數字即可,舉例如下:
function substract(op1,op2){
     return op1-op2; }
}

JS中變量的作用域

在JS中,我們提倡用var來定義一個變量,凡是變量就會有作用域的問題,根據定義方式和位置的不同,它既可能是全局的,也有可能是局部的。
用var定義在腳本文件中,不屬于任何一個函數的變量,它的作用域就是全局性的,它可以在腳本中的任何位置被引用,包括有關函數的內部。全局變量的作用域是整個腳本。
用var定義在函數中的變量,它的作用域就是局部性的,它的作用域僅限于這個函數,在函數的外部是無法使用它的。
不用var定義在函數中的變量,它的作用域是全局的,如果你的腳本里已經存在一個與之同名的變量,這個函數將覆蓋那個現有變量的值。
定義函數時,我們必須明確的把它內部的變量都明確的聲明為局部變量,如果從來沒有忘記在函數中使用var關鍵字,就可以避免任何形式的二義性隱患。

JS中的數組

在JS中,我們使用Array關鍵字聲明數組,在聲明時對數組長度進行限定,如:
var arr=Array(3);
有時運行起來才知道數組長度,JS中我們也可以這樣定義數組:
var arr=Array();
向數組中添加元素時你需要給出新元素的值,還需要在數組中為新元素制定存放位置,這個位置由下標給出,如arr[1]=4。

在JS中定義數組的例子

定義方式一:
var arr=Array(3);
arr[0]=“劉備”; arr[1]=“關于”; arr[2]=“張飛”;
定義方式二:
var arr=Array();
arr[0]=3; arr[1]=4;arr[2]=5;
定義方式三:
Var arr=Array(“1”,2,true);
定義方式四:
var arr=[“征東”,”平西”,”鎮南”,”掃北”];



和風細雨 2008-03-14 12:49 發表評論
]]>
在JavaScript中使用正則表達式驗證表單字段http://www.tkk7.com/junglesong/archive/2008/03/02/183266.html和風細雨和風細雨Sun, 02 Mar 2008 08:00:00 GMThttp://www.tkk7.com/junglesong/archive/2008/03/02/183266.htmlhttp://www.tkk7.com/junglesong/comments/183266.htmlhttp://www.tkk7.com/junglesong/archive/2008/03/02/183266.html#Feedback0http://www.tkk7.com/junglesong/comments/commentRss/183266.htmlhttp://www.tkk7.com/junglesong/services/trackbacks/183266.htmlJavaScript中對正則表達式的支持
正則表達式在JS的最大用處就是驗證表單字段,如驗證數字,驗證郵件和驗證漢字等。
JavaScript中對正則表達式的支持是通過RegExp類實現的。你可以以如下方式建立一個正則表達式:
var regex=new RegExp("^[1-9]+\\d*$");
而驗證的方法是regex.test(str),它返回str是否符合regex的結果。

JS中正則表達式和Java中的異同。
JavaScript
1.建立:
var regex=new RegExp("^[1-9]+\\d*$");
2.驗證
return regex.test(str);
3.寫法上,要驗證字符串,JS中必須把起始符號^和結束符號$寫全,否則就是包含驗證而不是全匹配驗證.除此外其它部分都是一致的.

Java
1.建立:
String regex="\\d*";
2.驗證:
return Pattern.matches(regex,text);
3.寫法上,JAVA中進行全匹配驗證不需寫全起始符號^和結束符號$.

一個完整的驗證過程

表單元素:
<input type="text" name="positiveinteger"
value="1" />

表單提交之前的驗證函數:
var positiveinteger=$("positiveinteger").value;
if(isPositiveInteger(positiveinteger)==false){
     $("positiveinteger").focus();
     $("checkMsg").innerHTML="正整數驗證不通過";
     return false;
}
else{
     $("checkMsg").innerHTML="正整數驗證通過";
}

驗證函數:
function isPositiveInteger(str){
     var regex=new RegExp("^[1-9]+\\d*$");
     return regex.test(str);
}


常用驗證函數

/**
* 正整數驗證*/
function isPositiveInteger(str){
  var regex=new RegExp("^[1-9]+\\d*$");
  return regex.test(str);
}

/**
* 負整數驗證
*/
function isNegativeInteger(str){
  var regex=new RegExp("^-{1}\\d+$");
  return regex.test(str);
}

/**
* 非負整數驗證
*/
function isNonnegativeInteger(str){
  var regex=new RegExp("^\\d+$");
  return regex.test(str);
}

/**
* 整數驗證
*/
function isInteger(str){
  var regex=new RegExp("^-?\\d+$");
  return regex.test(str);
}

/**
* 有理數驗證
*/
function isRationalNumber(str){
  var regex=new RegExp("^-?\\d+(\\.*)(\\d*)$");
  return regex.test(str);
}

/**
* 英語字母驗證
*/
function isLetter(str){
  var regex=new RegExp("^[a-zA-Z]+$");
  return regex.test(str);
}

/**
* 英數字驗證
*/
function isLetterOrInteger(str){
  var regex=new RegExp("^[a-zA-Z0-9]+$");
  return regex.test(str);
}

/**
* 郵件驗證
*/
function isEmail(str){
  var regex=new RegExp("^\\w+([-+.]\\w+)*@\\w+([-.]\\w+)*\\.\\w+([-.]\\w+)*$");
  return regex.test(str);
}

/**
* 漢字驗證
*/
function isCharacter(str){
  var regex=new RegExp("^[\u4E00-\u9FA5]+$");
  return regex.test(str);
}

/**
* 貨幣驗證
*/
function isCurrency(str){
  return str.search("^\\d+(\\.\\d{0,2})*$")==0;
}



和風細雨 2008-03-02 16:00 發表評論
]]>
使用JavaScript操作表單http://www.tkk7.com/junglesong/archive/2008/03/02/183263.html和風細雨和風細雨Sun, 02 Mar 2008 07:23:00 GMThttp://www.tkk7.com/junglesong/archive/2008/03/02/183263.htmlhttp://www.tkk7.com/junglesong/comments/183263.htmlhttp://www.tkk7.com/junglesong/archive/2008/03/02/183263.html#Feedback0http://www.tkk7.com/junglesong/comments/commentRss/183263.htmlhttp://www.tkk7.com/junglesong/services/trackbacks/183263.html
獲取表單的引用

在開始對表單進行編程前,必須先獲取表單<form>的引用.有以下方法可以來完成這一操作。
1)采用典型的DOM樹中的定位元素的方法getElementById(),只要傳入表單的id即可獲得表單的引用:
var vform=document.getElementById(“form1”);

2)還可以用document的forms集合,并通過表單在form集合中的位置或者表單的name特性來進行引用:
var oform=document.forms[0];
var oform=document.forms[“formZ”];

訪問表單字段

每個表單字段,不論它是按鈕,文本框還是其它內容,均包含在表單的elements集合中.可以用它們的name特性或者它們在集合中的位置來訪問不同的字段:
Var oFirstField=oForm.elements[0];
Var oTextBox1=oForm.elements[“textBox1”];
此外還可以通過名字來直接訪問字段,如:
Var oTextBox1=oForm.textbox1;
如果名字中有標記,則可以使用方括號標記:
Var oTextBox1=oForm[“text box 1”];

最常見的訪問表單字段的方法

最簡單常用的訪問表單元素的方法自然是document.getElementById(),舉例如下:
<input type="text" name="count"
      value="" />
在JS中取得此元素內容的代碼為:
var name=document.getElementById("name").value
這種方法無論表單元素處于那個表單中甚至是不在表單中都能湊效,一般情況下是我們用JS訪問表單元素的首選.
鑒于document.getElementById比較長,你可以用如下函數代替它:
function $(id){
     return document.getElementById(id);
}
把這個函數放在共有JS庫中,在jsp頁面通過如下方法引用它:
<head>
<title>"記賬系統"添加資源頁面</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<script src="web/js/check.js" type="text/javascript"></script>
<link rel="stylesheet" rev="stylesheet" href="web/css/style.css"
 type="text/css" />
</head>
此后你就可以直接使用$訪問表單元素中的內容:
var name=$("name").value; 

表單字段的共性

以下是所有表單字段(除了隱藏字段)
Disabled可以用來獲取或設置表單控件是否被禁用.
Form特性用來指向字段所在的表單.
Blur()方法使表單字段失去焦點.
Focus()方法使表單字段獲得焦點.
當字段失去焦點是,發生blur事件,執行onblur事件處理程序.
當字段獲取焦點時,發生focus事件,執行onfocus事件處理函數.

當頁面載入時將焦點放在第一個字段

在body代碼中如此書寫:
<body onload=“focusOnFirstElm()”>
JS函數如下書寫:
Fucntion focusOnFirstElm(){
     document.forms[0].elements[0].focus();
}
如果第一個字段不是隱藏字段此方法就是湊效的,如果是的話把elements的下標改成非隱藏字段的下標即可.

控制表單只被提交一次

由于Web的響應問題,用戶有可能會點擊多次提交按鈕從而創建重復數據或是導致錯誤,我們可以使用JS對提交按鈕進行設置以讓表單只被提交一次。
<input type=“submit” value=“提交” onclick=“this.disabled=true;this.form.submit()”/>
這里在點擊提交按鈕時執行了兩句JS代碼,一次是this.disabled=true;這是讓提交按鈕被禁用;一次是this.form.submit()這是提交這個按鈕所在的表單。

檢查用戶在表單元素中的按鍵

為控件添加 onkeydown事件處理,然后在函數查看keyCode,就能知道用戶的按鍵,代碼如下:
<input type="text" name="test"
value="" onkeydown="testkey(this,event)"/>
JS代碼如下:
function testkey(obj,event){
     alert(event.keyCode);
}

這種技巧在改善用戶體驗如按回車鍵提交表單時很常用。



和風細雨 2008-03-02 15:23 發表評論
]]>
常見JavaScript驗證http://www.tkk7.com/junglesong/archive/2008/02/23/181619.html和風細雨和風細雨Sat, 23 Feb 2008 10:34:00 GMThttp://www.tkk7.com/junglesong/archive/2008/02/23/181619.htmlhttp://www.tkk7.com/junglesong/comments/181619.htmlhttp://www.tkk7.com/junglesong/archive/2008/02/23/181619.html#Feedback0http://www.tkk7.com/junglesong/comments/commentRss/181619.htmlhttp://www.tkk7.com/junglesong/services/trackbacks/181619.html/**
* Positive Integer Check
*/

function isPositiveInteger(str){
    
var regex=new RegExp("^[1-9]+\\d*$");
    
return regex.test(str);
}


/**
* Negative Integer Check
*/

function isNegativeInteger(str){
    
var regex=new RegExp("^-{1}\\d+$");
    
return regex.test(str);
}


/**
* Nonnegative Integer Check
*/

function isNonnegativeInteger(str){
    
var regex=new RegExp("^\\d+$");
    
return regex.test(str);
}


/**
* Integer Check
*/

function isInteger(str){
    
var regex=new RegExp("^-?\\d+$");
    
return regex.test(str);
}


/**
* Rational number Check
*/

function isRationalNumber(str){
    
var regex=new RegExp("^-?\\d+(\\.*)(\\d*)$");
    
return regex.test(str);
}


/**
* Letter Check
*/

function isLetter(str){
    
var regex=new RegExp("^[a-zA-Z]+$");
    
return regex.test(str);
}


/**
* Letter Integer Check
*/

function isLetterOrInteger(str){
    
var regex=new RegExp("^[a-zA-Z0-9]+$");
    
return regex.test(str);
}


/**
* Email Check
*/

function isEmail(str){
    
var regex=new RegExp("^\\w+([-+.]\\w+)*@\\w+([-.]\\w+)*\\.\\w+([-.]\\w+)*$");
    
return regex.test(str);
}


/**
* Character Check
*/

function isCharacter(str){
    
var regex=new RegExp("^[\u4E00-\u9FA5]+$");
    
return regex.test(str);
}


/**
* Currency Check
*/

function isCurrency(str){
    
return str.search("^\\d+(\\.\\d{0,2})*$")==0;
}


和風細雨 2008-02-23 18:34 發表評論
]]>
主站蜘蛛池模板: 亚洲精品视频在线播放| 韩国18福利视频免费观看| avtt天堂网手机版亚洲| 亚洲一级特黄大片无码毛片| 99在线精品视频观看免费| 中文日本免费高清| gogo免费在线观看| 青青免费在线视频| 深夜A级毛片视频免费| 亚洲日韩一区精品射精| 亚洲人成电影网站| 亚洲人成网站日本片| 婷婷亚洲久悠悠色悠在线播放| 亚洲精品专区在线观看| 免费国产不卡午夜福在线| 日本一道综合久久aⅴ免费| 国产一级理论免费版| 国产精品公开免费视频| 免费一级做a爰片性色毛片| 四虎国产精品免费视| 区三区激情福利综合中文字幕在线一区亚洲视频1 | 色欲aⅴ亚洲情无码AV| 亚洲αⅴ无码乱码在线观看性色| 亚洲熟妇少妇任你躁在线观看| 亚洲综合av一区二区三区| 亚洲AV无码一区二区乱子仑 | 亚洲中文字幕无码永久在线| 亚洲国产精品无码久久久不卡| 亚洲av无码一区二区三区乱子伦 | www.黄色免费网站| 免费在线观看黄网站| 国产亚洲色婷婷久久99精品| 亚洲电影在线播放| 免费人成再在线观看网站 | 亚洲乱妇老熟女爽到高潮的片 | 亚洲色欲或者高潮影院| 在线亚洲高清揄拍自拍一品区| 免费精品国自产拍在线播放| 色猫咪免费人成网站在线观看| 全亚洲最新黄色特级网站 | 嫖丰满老熟妇AAAA片免费看|