MozTW 討論區

各項 Mozilla 相關軟體與技術討論
現在的時間是 2025-08-24, 00:51

所有顯示的時間為 UTC + 8 小時





發表新文章 回覆主題  [ 1 篇文章 ] 
發表人 內容
文章發表於 : 2007-03-11, 06:43 
離線

註冊時間: 2004-10-04, 16:43
文章: 12
最近寫個簡單的網頁
裏面有用到
javascript 來產生選單.
選單分成三部份.
第一欄位select tag 是選電影名稱 (一開始就有顯示出來)).
第二個select選項是 選 星期 (要點選電影名稱才會顯示關聯星期)
第三個select 選項是 時間.(要點選電影名稱才會顯示關聯時間)

可是出現一個問題, 第2和第3的select選單是用 javascript 產生
結果變成看得到資料, 也可以用滑鼠拉出選單看所有的select option 內容. 可是當選定想要的資料時, 比如說 下拉選單的第 3比資料. 用滑鼠點第3筆. 點好了, 畫面依然停留在 第1比資料.

請問該怎麼解決這樣的問題?

底下是我的script

順便問一下, 底下的code 哪一部分要修改才能讓ie 也可以看得到?

代碼:
function chooseFilm(){
   clean();   
   document.forms[0].film_.value = document.forms[0].film.value;
   if(document.forms[0].film.value == ""){
      alert("please choose a film first!");
      clean();
      document.forms[0].day.disabled = true;
      document.forms[0].time.disabled = true;
      return false;
   }
   chooseDay();
}
function chooseDay(){
   if(document.forms[0].film_.value == ""){//should not happened!
      alert("no film has choosen!");
      return false;
   }
   document.forms[0].day.disabled = false;
   var filmid = document.forms[0].film_.value;
   var day_array = new Array();
   for(i=0;i<showid_filmid_day_array.length;i++){
      if(showid_filmid_day_array[i][1] == filmid){
         day_array.push(showid_filmid_day_array[i]);
      }
   }
   //construct day select tag
   var day_cache_array = new Array();

   for(i=0;i<day_array.length;i++){
      var showid = day_array[i][0];
      var filmid = day_array[i][1];
      var day = day_array[i][2];
      if(day_cache_array.indexOf(day_array[i][2]) == -1 ){
         day_cache_array.push(day_array[i][2]);   
      }   
   }//for
   var ttt = document.forms[0].day.options.length;
   for(i=0;i<ttt;i++){
      document.forms[0].day.options[i] = null;
   }
   for(i=0;i<day_cache_array.length;i++){
      document.forms[0].day.options[i] =
         new Option(day_cache_array[i], day_cache_array[i]);
   }
   chooseTime();
}
function chooseTime(){
   if(document.forms[0].film_.value == ""){//should not happened!
      alert("no film has choosen!");
      return false;
   }
   document.forms[0].time.disabled = false;
   var filmid = document.forms[0].film_.value;
   var time_array = new Array();
   for(i=0;i<showid_filmid_time_array.length;i++){
      if(showid_filmid_time_array[i][1] == filmid){
         time_array.push(showid_filmid_time_array[i]);
      }
   }

   //construct day select tag
   var time_cache_array = new Array();
   for(i=0;i<time_array.length;i++){
      var showid = time_array[i][0];
      var filmid = time_array[i][1];
      var time = time_array[i][2];
      if(time_cache_array.indexOf(time) == -1 ){
         time_cache_array.push(time);   
      }   
   }//for

   var time_length = document.forms[0].time.length;
   while(time_length>0){
      document.forms[0].time.options[time_length] = null;
      time_length--;
   }
   for(i=0;i<time_cache_array.length;i++){
      document.forms[0].time.options[i] =
         new Option(time_cache_array[i], time_cache_array[i]);
   }
}
function validate(){
   if( document.forms[0].film.value == "" ){
      alert("please choose film name!");
      return false;   
   }
   if(document.forms[0].day.value == ""){
      alert("please choose a day!");
      return false;   
   }
   if(document.forms[0].time.value == ""){
      alert("please choose time!");
      return false;   
   }
   document.forms[0].submit();
}


回頂端
Mozilla/5.0 (X11; U; Linux i686; zh-TW; rv:1.8.1.2) Gecko/20070220 Firefox/2.0.0.2
 個人資料  
引用回覆  
顯示文章 :  排序  
發表新文章 回覆主題  [ 1 篇文章 ] 

所有顯示的時間為 UTC + 8 小時


誰在線上

正在瀏覽這個版面的使用者:沒有註冊會員 和 86 位訪客


不能 在這個版面發表主題
不能 在這個版面回覆主題
不能 在這個版面編輯您的文章
不能 在這個版面刪除您的文章
不能 在這個版面上傳附加檔案

搜尋:
前往 :  
Powered by phpBB® Forum Software © phpBB Group
正體中文語系由 竹貓星球 維護製作
© moztw.org, Mozilla Foundation
MozTW,Mozilla 台灣社群