顯示具有 JS 標籤的文章。 顯示所有文章
顯示具有 JS 標籤的文章。 顯示所有文章

2010年12月22日 星期三

Google Map 的中文製作簡介V2

source; http://dev.leck.com/gsupport/

DWR和jQuery的$符號衝突的問題

DWR和jQuery都使用$符號來取得html中的元素,如果兩個一起用的話就會出現衝突。我在網上搜了一下都是用jQuery.noConflict()來替換jQuery中的$,但jQuery的插件太多,我不想在每個dwr調用之前都用noConflict來轉換一下,能不能把dwr的$符號替換一下呢?查了一下dwr的util.js源碼,發現下面這句:

var $;
if (!$) {
$ = dwr.util.byId;
}

沒錯!這裡就是dwr定義$的地方,把這斷代碼屏掉,重新定義了一下

var wwwju51com;
if (!wwwju51com) {
wwwju51com = dwr.util.byId;
}

OK,這樣你就能用wwwju51com來替換DWR中的$符號了。

2010年5月23日 星期日

用JavaScript發出Post Request

function post_to_url(path, params, method) {
method = method || "post"; // Set method to post by default, if not specified.

// The rest of this code assumes you are not using a library.
// It can be made less wordy if you use one.
var form = document.createElement("form");
form.setAttribute("method", method);
form.setAttribute("action", path);

for(var key in params) {
var hiddenField = document.createElement("input");
hiddenField.setAttribute("type", "hidden");
hiddenField.setAttribute("name", key);
hiddenField.setAttribute("value", params[key]);

form.appendChild(hiddenField);
}

document.body.appendChild(form); // Not entirely sure if this is necessary
form.submit();
}

post_to_url('http://example.com/', {'q':'a'});



source: http://ubuntu-rubyonrails.blogspot.com

2009年11月5日 星期四

[Java Script] 操作select控制項大全(新增、修改、刪除、選中、清空、判斷存在等)

1判斷select選項中 是否存在Value="paraValue"的Item

2向select選項中 加入一個Item

3從select選項中 刪除一個Item

4刪除select中選中的項

5修改select選項中 value="paraValue"的text為"paraText"

6設置select中text="paraText"的第一個Item為選中

7設置select中value="paraValue"的Item為選中

8得到select的當前選中項的value

9得到select的當前選中項的text

10得到select的當前選中項的Index

11清空select的項

js 代碼

// 1.判斷select選項中是否存在Value="paraValue"的Item

function jsSelectIsExitItem(objSelect, objItemValue) {

var isExit = false;

for (var i = 0; i <>

if (objSelect.options[i].value == objItemValue) {

isExit = true;

break;

}

}

return isExit;

}

// 2.向select選項中加入一個Item

function jsAddItemToSelect(objSelect, objItemText, objItemValue) {

//判斷是否存在

if (jsSelectIsExitItem(objSelect, objItemValue)) {

alert("該Item的Value值已經存在");

} else {

var varItem = new Option(objItemText, objItemValue);

objSelect.options.add(varItem);

alert("成功加入");

}

}

// 3.從select選項中刪除一個Item

function jsRemoveItemFromSelect(objSelect, objItemValue) {

//判斷是否存在

if (jsSelectIsExitItem(objSelect, objItemValue)) {

for (var i = 0; i <>

if (objSelect.options[i].value == objItemValue) {

objSelect.options.remove(i);

break;

}

}

alert("成功刪除");

} else {

alert("該select中 不存在該項");

}

}

// 4.刪除select中選中的項

function jsRemoveSelectedItemFromSelect(objSelect) {

var length = objSelect.options.length - 1;

for(var i = length; i >= 0; i--){

if(objSelect[i].selected == true){

objSelect.options[i] = null;

}

}

}

// 5.修改select選項中 value="paraValue"的text為"paraText"

function jsUpdateItemToSelect(objSelect, objItemText, objItemValue) {

//判斷是否存在

if (jsSelectIsExitItem(objSelect, objItemValue)) {

for (var i = 0; i <>

if (objSelect.options[i].value == objItemValue) {

objSelect.options[i].text = objItemText;

break;

}

}

alert("成功修改");

} else {

alert("該select中 不存在該項");

}

}

// 6.設置select中text="paraText"的第一個Item為選中

function jsSelectItemByValue(objSelect, objItemText) {

//判斷是否存在

var isExit = false;

for (var i = 0; i <>

if (objSelect.options[i].text == objItemText) {

objSelect.options[i].selected = true;

isExit = true;

break;

}

}

//Show出結果

if (isExit) {

alert("成功選中");

} else {

alert("該select中 不存在該項");

}

}

// 7.設置select中value="paraValue"的Item為選中

document.all.objSelect.value = objItemValue;

// 8.得到select的當前選中項的value

var currSelectValue = document.all.objSelect.value;

// 9.得到select的當前選中項的text

var currSelectText = document.all.objSelect.options[document.all.objSelect.selectedIndex].text;

// 10.得到select的當前選中項的Index

var currSelectIndex = document.all.objSelect.selectedIndex;

// 11.清空select的項

document.all.objSelect.options.length = 0;


source: http://goodlucky.pixnet.net/blog/

2009年6月29日 星期一

JS instanceof判斷類型問題

判斷變量類型:一般情況下,可以先用typeof運算符,如果結果是"object",再用instanceof來判斷;
特別的地方是:
instanceof不認為原始類型值的變量是對象,

1. var temp="a string for test";
2. //下面這句返回"string"
3. alert( typeof temp);
4. //下面這句返回"false"
5. alert(temp instanceof String);
6.
7. //看看Ext內部實現,判斷String類型
8. if( typeof temp== "string"){
9. }

其他附加問題:

* null:表示尚未存在的對象,注意,儘管尚未存在,也是個對像啊,所以用typeof檢測一個null值變量的結果是Object;不過,為了便於寫 if語句,在js中,"undefined==false ", "null=false",因此,"undefined==null"。
*整數:最容易犯的錯誤就是,忘了070其實是個八進制數,相當於十進制的56;
*浮點數:“在進行運算之前,真正存儲的是字符串”——這應該是解釋執行的本質決定的吧——直接後果是,alert(0.8)這樣的語句可以正確輸出,而alert(2 *0.8)的輸出就成了"2.40000000000000003"
*數字邊界:數字有幾個邊界值,分別是Number.MAX_VALUE(最大值), Number.MIN_VALUE(最小值), Number.POSITIVE_INFINITY(正無窮), Number.NEGATIVE_INFINITY(負無窮), Infinity(無窮大,- Infinity,這個有點莫名其妙,不知道為啥又搞出一套);特別地,還有一個isFinit(iNumber)函數來判斷數字是否為無窮大。
* NaN:一些需要數字作為參數的函數,當傳入的實參無法轉換為數字時,往往會返回這個值;關於NaN,最重要的就是要記住NaN!=NaN,因此判斷一個變量是否為NaN,一定要使用isNaN(var)函數。
*將字符串轉換為數字:sVar.parseInt()是最常用的函數,也最容易出錯,為了保險起見,最好每次調用的時候,都加上“進制”的參數,比 如:a .parseInt(10),就制定了按十進制轉換字符串a;Number(sVar)也是一種轉換方式,不同的是,它要求整個字符串都得是有效數字,因 此Number("4.5.5")將返回NaN;

source: http://www.blogjava.net/oathleo