部落客廣告聯播

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

2009年3月4日 星期三

[XX隱藏關卡XX] BIRT中使用外部.js檔案

當在使用BIRT開發多個報表時,常會有多張報表需要使用相同函數的時候,偏偏在BIRT中無法使用外部.js當作函數庫使用。
但在BIRT 2.3的Release Note指出, 該版確實是提供了該功能,但好笑的是並沒有說如何做。

原來GUI Designer並沒有提供介面,必須以XML Source內修改ptdesign,加入:

<list-property name="includeScripts">
<property>system.js</property>
</list-property>

2008年10月13日 星期一

[JavaScript] email地址驗證


(/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(obj.email.value))


地址格式正確回傳回true,否則回傳false

2008年7月30日 星期三

[Javascript] parseInt("08")問題

使用Javascript轉換型態有個很有趣的問題
parseInt("01") ~ parseInt("07") 都正常
但parseInt("08") parseInt("09")結果都為零

原因可參考http://blog.xuite.net/n3785/tech/12824014

解決方法:
parseInt("08",10);
Number("08");

2008年7月20日 星期日

2008年1月29日 星期二

javascript實用技巧:動態建立<select><option>下拉選單

//取得<select>物件
var sel=document.getElementById('selProductNum') ;

//clear all
var len=sel.options.length;
for(var j=0;j<len;j++)
{ sel.options[0] = null; }

//add option
var prodNumArr=prodNums.split(",");
for(var i=0;i<prodNumArr.length;i++)
{ sel.options[i+1]=new Option(prodNumArr[i],prodNumArr[i]); }

// set which one option is selected
sel.options.selectedIndex=1;

2007年11月6日 星期二

[Javascript實用技巧]判斷輸入是否為合法數字

1. 使用內建isNaN( ) -->若非合法數字傳回true,合法數字傳回false
isNaN(1.23) --> false
isNaN(-1.23) --> false
isNaN(4-1) --> false
isNaN("String") --> true

2. 自己寫

function fnIsValidInt(num)
{
var i,j,strTemp;
strTemp="0123456789";

for (i=0;i<num.length;i++)
{
j=strTemp.indexOf(num.charAt(i));
if (j==-1)
{
return false;
}
}
return true;
}

function fnIsValidFlot(NUM)
{
if ( NUM.length== 0)
return false;
if ( NUM=='.' )
return false;

var flag=false;


var i,j,strTemp;
strTemp="0123456789.";

for (i=0;i<NUM.length;i++)
{
j=strTemp.indexOf(NUM.charAt(i));
if (j==-1)
{
return false;
}
}
return true;
}

2007年10月21日 星期日

[javascript小技巧] 拉卷軸,物件跟著跑

拉卷軸,物件跟著跑

function setSellerInfoButtonLocation()
{
var btn=document.getElementById('seller-info-link');
btn.style.left=document.body.scrollLeft + document.body.clientWidth -btn.offsetWidth;
btn.style.top = document.documentElement.scrollTop+"px";
}

....
....
<body onload="setSellerInfoButtonLocation()" onscroll="setSellerInfoButtonLocation()" >

<body />

2007年9月6日 星期四

JavaScript實用函數:移除陣列元素 (Java script function: remove element from Array )



function array_removeAt(array,index)
{
var newArr=new Array(array.length-1);

var idx=0;
for(var i=0;i<array.length-1;i++)
{
if(i==index)continue;

newArr[idx]=array[i];
idx++;
}
return newArr;
}


-----------------------------------------------------
itemCodesArr=array_removeAt(itemCodesArr,j);

2007年8月9日 星期四

用javascript清空HTML<select>內所有option


<script>
var sel=document.frmName.selName;
//clear listbox
for(var i=sel.options.length-1;i>=0;i--)
{ sel.options.remove(i); }
</script>

2007年8月6日 星期一

javascript:實用函數檢查某組checkBox是否有至少選擇一項

用來驗證表單,快速套用

function haveCkedInCheckBox(selectObj)
{
if(selectObj!=null)
{
if(typeof selectObj.length!='undefined')
{
 for(var i=0;i<selectObj.length;i++)
   {
if(selectObj[i].checked)
    return true;
   }
}
else
{
return selectObj.checked;
}
}

return false;
}

javascript:實用函數 select All CheckBox

常在網頁上看到的技巧:點選最上個checkbox就可以進行全選/全取消 所有的checkBox,以下提供函數,稍經修改即可快速套用(修改chkAll_onclick()的來源及目的物件)--


function chkAll_onclick()
{
var obj=document.getElementById('chkAll');
var objs=frmDelTemp.checkedScoreCodes;
binaryCheckAll(obj,objs);
}

function binaryCheckAll(chkObj,beSelectedChkObjs)
{
if(chkObj!=null && beSelectedChkObjs!=null)
{
if(typeof beSelectedChkObjs.length=='undefined') //uni one row
{
beSelectedChkObjs.checked=chkObj.checked;
}
else
{
for (var i=0;i<beSelectedChkObjs.length;i++)
{
beSelectedChkObjs[i].checked=chkObj.checked;
}
}
}
}

2007年6月11日 星期一

javascript: 實用函數 判斷哪個radio選項被選取傳回其value

function getCheckedValue(radioObj)
{
if(!radioObj)
return "";
var radioLength = radioObj.length;
if(radioLength == undefined)
if(radioObj.checked)
return radioObj.value;
else
return "";
for(var i = 0; i < radioLength; i++)
{
if(radioObj[i].checked)
{
return radioObj[i].value;
}
}
return "";
}

javascript: 實用函數trim( )

去頭去尾留中間,跟尿療法一樣

function trim(stringToTrim)
{
return stringToTrim.replace(/^\s+|\s+$/g,"");
}

2007年6月7日 星期四

JavaScript技巧:判斷多選的select選單是否有值被選取

JavaScript技巧:判斷多選的select選單是否有值被選取
假設我在HTML中有一表單項如下:

<select name="lstProductLine" id="lstProductLine" multiple size="4">
<option value="" >Select items below</option>
<option value="1000" selected>1000</option>
<option value="2000" selected>2000</option>
<option value="3000" selected>3000</option>
<option value="4000" selected>4000</option>
<option value="4100" selected>4100</option>
<option value="4300" selected>4300</option>
<option value="7010" selected>7010</option>
<option value="7020" selected>7020</option>
<option value="7030" selected>7030</option>
</select>

注意select標籤的multiple屬性代表可做多選。
如今,我想在表單submit之前,先檢查使用者是否至少有選取一到多項的值,可使用如下程式碼來判斷:
function btnSave_onclick()
 {
   if(isValueSelectedInLstBox(document.getElementById('lstProductLine')))
    { //submit }
 }
function isValueSelectedInLstBox(selectObj)
{
 for(var i=0;i<selectObj.options.length;i++)
   { if(selectObj.options[i].selected==true)
    { if(selectObj.options[i].value!='') return true; }
   }
return false;
}

恩,用來驗證表單非常實用。