2012-04-05 109 views
0
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"   
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 
    <html> 
    <head> 
    <meta http-equiv="Cache-control" content="no-cache"> 
    <meta http-equiv="Pragma" content="no-cache"> 
    <meta http-equiv="Expires" content="-1"> 

     <Script language = JavaScript> 
      function addOptionList(selectbox,text,value) 
      { 
       var optn = document.createElement('OPTION'); 
       optn.text = text; 
       optn.value = value; 
       selectbox.options.add(optn); 
      } 
      function removeOptionList(listbox,i){ 
       listbox.remove(i); 
      } 
      function addOption_list(fromvar,tovar){ 
       for(i=fromvar.options.length-1;i>=0;i--) { 
        var userlist=fromvar; 
        if(fromvar[i].selected){ 
         addOptionList(tovar, fromvar[i].value, fromvar[i].value); 
         removeOptionList(userlist,i); 

        } 
       } 
      } 

     </Script> 

    <table align='center'> 
     <tr> 
      <td ><select multiple name='userlist' id='userlist' > 
       <option value='aaa'>aaa</option> 
       <option value='bbb'>bbb</option>     
      </select></td> 
      <td align='center' valign='middle'> 
       <input value='--&gt;' 
        onClick='addOption_list(userlist,pouser);' type='button'> 
       <br><input value='&lt;--' 
        onClick='addOption_list(pouser,userlist);' type='button'></td> 
      <td><select multiple name='pouser' id='pouser'> 
       <option id='test' value='ccc'>ccc</option>    
      </select></td> 
     </tr> 
    </table> 
</body> 
</HTML> 

我正在使用上面的代碼從左邊框中選擇一個名稱並將其移動到右側框中。該代碼在IE中使用/不使用DOCTYPE。但是,當我使用DOCTYPE時,它停止在Firfox中工作。我花了很多時間,但仍然無法解決問題。另外,我是Javascript的新手,所以請向下面的代碼解釋我的問題(當我使用DOCTYPE時)。在此先感謝您的幫助!!DOCTYPE在Firefox中不工作

回答

0

您的標記與DOCTYPE不符。即您沒有使用有效的XHTML 1.0標記。

粘貼你的代碼into the xhtml validator它會告訴你什麼是錯的。

+0

謝謝格里菲娜。下面粘貼的是來自XHTML驗證器的驗證代碼。它不會讓我粘貼我的更新代碼 – user968014 2012-04-05 21:20:10

1

您正在依靠窗口中顯示爲全局屬性的元素(例如userlist)。 Firefox只在怪癖模式下這樣做,這正是doctype重要的原因。

+0

感謝BOris。那麼我怎麼在本地定義它?請讓我知道。謝謝!! – user968014 2012-04-06 17:11:42

+1

使用'document.getElementById(「userlist」)' – 2012-04-06 19:11:11