2010年12月22日 星期三
DWR和jQuery的$符號衝突的問題
var $;
if (!$) {
$ = dwr.util.byId;
}
沒錯!這裡就是dwr定義$的地方,把這斷代碼屏掉,重新定義了一下
var wwwju51com;
if (!wwwju51com) {
wwwju51com = dwr.util.byId;
}
OK,這樣你就能用wwwju51com來替換DWR中的$符號了。
2010年5月23日 星期日
用JavaScript發出Post Request
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判斷類型問題
特別的地方是:
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