ID do artigo: 829907 - Última revisão: quinta-feira, 31 de maio de 2007 - Revisão: 2.1

Erro: O atributo selecionado de um elemento de opção está ausente em um controle ComboBox clonado

Dica do SistemaEste artigo aplica-se a um sistema operativo diferente do que está a utilizar. Foi desactivado o conteúdo do artigo, que pode não ser relevante para si.

Nesta página

Expandir tudo | Recolher tudo

Sintomas

Em um controle ComboBox ou em um controle ListBox , você pode definir o atributo selecionado de um elemento de opção que seja diferente do primeiro elemento de opção. Se você usar o método cloneNode no código de script para clonar o controle ComboBox ou o controle ListBox , você notar que o atributo selecionado está ausente ou que o atributo selecionado é definido para o primeiro elemento de opção.

Como Contornar

Para contornar este problema, armazene o valor da propriedade selectedIndex do elemento de opção antes de você clonar o controle ComboBox ou o controle ListBox . Em seguida, defina o valor da propriedade selectedIndex do controle clonado com o valor armazenado.

Por exemplo, você pode usar o seguinte código para clonar oCombobox controle ComboBox :
var clonedCombobox = oCombobox.cloneNode(true);
para contornar o problema, modifique seu código da seguinte maneira:
var i = oCombobox.selectedIndex;
var clonedCombobox = oCombobox.cloneNode(true);
clonedCombobox.selectedIndex = i;

Situação

A Microsoft confirmou que esse é um problema nos produtos da Microsoft listados no começo deste artigo.

Mais Informações

Etapas para reproduzir o comportamento

  1. Start Notepad, and then paste the following HTML code to Notepad:
    <HTML>
       <HEAD>
          <TITLE>Cloned Control Test</TITLE>
           <SCRIPT>
           function onBtnclick1()
           {
         	  var clonedCombobox = oCombobox.cloneNode(true);  
              alert("The cloned ComboBox control is : " + clonedCombobox.innerHTML );
           }
           function onBtnclick2()
           {
              var clonedListbox = oListbox.cloneNode(true); 
              alert("The cloned ListBox control is : " + clonedListbox.innerHTML );
           }
          </SCRIPT>
      </HEAD>
       <BODY>
          <SELECT id="oCombobox" name="oCombobox">
             <OPTION value="1">Item 1</OPTION>
             <OPTION value="2">Item 2</OPTION>
             <OPTION value="3" selected>Item 3</OPTION>
             <OPTION value="4">Item 4</OPTION>
          </SELECT>
          <INPUT id="Button1" onclick="onBtnclick1();" type="button" value="ClonedComboBox" name="Button1"><br>
          <SELECT id="oListbox" size="2" name="oListbox">
             <OPTION value="1">ListBox Item 1</OPTION>
             <OPTION value="2">ListBox Item 2</OPTION>
             <OPTION value="3" selected>
                ListBox Item 3</OPTION>
             <OPTION value="4">ListBox Item 4</OPTION>
          </SELECT>
          <INPUT id="Button2" onclick="onBtnclick2();" type="button" value="ClonedListBox" name="Button2">
       </BODY>
    </HTML>
    Observação este código define o atributo selecionado para o terceiro elemento de opção.
  2. Salve o documento como Test1.html.
  3. Abra o arquivo Test1.html no Microsoft Internet Explorer.
  4. No clonada controle Test - Microsoft Internet Explorer janela, clique em ClonedComboBox . Uma caixa de mensagem que exibe o valor da propriedade innerHTML do controle ComboBox clonado é exibida. Observe que o atributo selecionado está definido para controlar o primeiro elemento de opção desta caixa de combinação .
  5. Clique em OK e, em seguida, clique em ClonedListBox . Uma caixa de mensagem que exibe o valor da propriedade innerHTML do controle ListBox clonado é exibida. Observe que o atributo selecionado não aparece.

Referências

Para obter mais informações sobre o método cloneNode , visite o seguinte site da Web Microsoft Developer Network (MSDN):
http://msdn2.microsoft.com/en-us/library/ms536365.aspx (http://msdn2.microsoft.com/en-us/library/ms536365.aspx)

A informação contida neste artigo aplica-se a:
  • Microsoft Internet Explorer (Programming) 6.0
  • Microsoft Internet Explorer 5.5
Palavras-chave: 
kbmt kbscript kbcontrol kbhtml kbbug KB829907 KbMtpt
Tradução automáticaTradução automática
IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine Translation ou MT), não tendo sido portanto traduzido ou revisto por pessoas. A Microsoft possui artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais, com o objetivo de oferecer em português a totalidade dos artigos existentes na base de dados de suporte. No entanto, a tradução automática não é sempre perfeita, podendo conter erros de vocabulário, sintaxe ou gramática. A Microsoft não é responsável por incoerências, erros ou prejuízos ocorridos em decorrência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza atualizações freqüentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 829907  (http://support.microsoft.com/kb/829907/en-us/ )
Retired KB ArticleAviso de Isenção de Responsabilidade sobre Conteúdo do KB Aposentado
Este artigo trata de produtos para os quais a Microsoft não mais oferece suporte. Por esta razão, este artigo é oferecido "como está" e não será mais atualizado.