2012-04-05 22 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> 

上記のコードを使用して、左のボックスから名前を選択し、右のボックスに移動します。コードはDOCTYPEの有無にかかわらずIEで動作しています。しかし、私がDOCTYPEを使用すると、それはFirfoxで動作しなくなります。私はそれに多くの時間を費やしましたが、それでも問題を把握できませんでした。また、私はJavascriptの初心者ですので、以下のコードで問題を説明してください(私はDOCTYPEを使用しています)。事前にあなたの助けをありがとう!FirefoxでDOCTYPEが機能しない

答えて

0

マークアップがDOCTYPEと一致しません。私。有効なXHTML 1.0マークアップを使用していません。

コードを貼り付けてinto the xhtml validatorとすると、間違ったことが表示されます。

+0

ありがとうございました。下には、XHTMLバリデーターからの検証済みコードが貼り付けられています。 – user968014

1

あなたは、ウィンドウにグローバルプロパティとしてIDを表示する要素(例:userlist)に依存しています。 Firefoxはquirksモードでのみこれを行います。そのためdoctypeは重要です。

+0

ありがとうBOris。どうして私はそれをローカルで定義するのですか?教えてください。ありがとう!! – user968014

+1

'document.getElementById(" userlist ")'を使用してください。 –

関連する問題