這兩天遇到一個怪問題
目前有一個功能在父頁 面上有一個select 清單
而選擇是會跳出一個子頁面的select 清單上選取
選後接加入,則會傳回父頁面上的select 清單之中
function return_data(form)
{
var isSelected=false;
var sel=form.user_list;
var parent_sel=window.opener.document.getElementById(“user_list”);
for(var i=sel.options.length-1;i>=0;i–) {
if(sel.options[i].selected) {
isSelected=true;
isHave=false;
for(var j=0;j<parent_sel.options.length;j++){
if(sel.options[i].value==parent_sel.options[j].value) {
isHave=true;
break;
}
}
if(!isHave) {
parent_sel.options[parent_sel.options.length]= new Option(sel.options[i].text,sel.options[i].value);
sel.options[i]=null;
} else sel.options[i]=null;
}
}
}
在執行時發現似乎無反應
一定要將 if(!isHave) { } 改成如下才行
parent_sel.options.length++;
parent_sel.options[parent_sel.options.length-1].text= sel.options[i].text;
parent_sel.options[parent_sel.options.length-1].value= sel.options[i].value;
sel.options[i]=null;
真是怪異,在本頁執行new option() 就行,但由子頁執行 父頁就不行
暫時還找不到原因,如果有高手知情,再麻煩告知一下!!
最近在排除程式問題時發現有趣的事
程式之中有用到javascript parseInt function
原本是希望傳入的字串 “02” “03” “04” 可以轉成 2 3 4
所以使用了parseInt function 進行轉換
不過卻有問題,遇到'08″ “09”時 就會轉換失敗
最後是直接在parseInt 後加上使用10進位的方式處理才排除
用法如下:
parseInt(value,10);
不過還真是怪異,預設怎麼會是用8 進位去解析呢?
以前都沒有這種印象
該不會先前寫的程式都會有此問題呢 @@
真慘….
因需要,想用方向鍵上 下 替代shift+ tab 及tab 方便使用者於填表單時可以快速切換欄位,找了許久總算找到簡易的方式,經調整自己適用的Function 如下:
//按方向鍵上 下 可當 shift + tab & tab
function keyTabFunction() {
for(var i=0;i <document.forms[0].elements.length;i++){
if(document.forms[0].elements[i]==obj){
//alert (obj);
if ( event.keyCode == 38) //↑
if(i >0) {
document.forms[0].elements[i-1].focus();
}
if ( event.keyCode == 40)//↓
if(i <document.forms[0].elements.length-1) {
document.forms[0].elements[i+1].focus();
}
}
}
}
這兩天在逛網站,看到一個不錯的功能,
當你在該網站上copy內容時,它會將一段版權的文字附加在你copy 的內容後面
蠻有趣的,在這個世代,網路已是必備,常會需要使用複製貼上的功能
這複製網頁增加版權文字功能~如有需要的人可以調整成自己所需來使用
document.body.oncopy=function(){
event.returnValue=false;
var t=document.selection.createRange().text;
var s=”此文章轉載自→Myhome http://herolin.webhop.me”;
clipboardData.setData('Text',t+'\r\n'+s+'\r\n\r\n');
}
近期留言