Artigo: 829907 - Última revisão: quinta-feira, 31 de Maio de 2007 - Revisão: 2.1

Erro: O atributo seleccionado de um elemento de opção está em falta num controlo de caixa de combinação 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 | Reduzir tudo

Sintomas

Num controlo de caixa de combinação ou num controlo caixa de listagem , poderá definir o atributo seleccionado de um elemento de opção que não seja o primeiro elemento de opção. Se utilizar o método cloneNode em códigos scripts para clonar o controlo de caixa de combinação ou o controlo de caixa de listagem , notará que o atributo seleccionado está em falta ou que o atributo seleccionado está 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 clonar o controlo de caixa de combinação ou o controlo de caixa de listagem . Em seguida, defina o valor da propriedade selectedIndex do controlo clonado com o valor armazenado.

Por exemplo, pode utilizar o seguinte código para clonar oCombobox controlo de caixa de combinação :
var clonedCombobox = oCombobox.cloneNode(true);
para contornar o problema, modifique o código da seguinte forma:
var i = oCombobox.selectedIndex;
var clonedCombobox = oCombobox.cloneNode(true);
clonedCombobox.selectedIndex = i;

Ponto Da Situação

A Microsoft confirmou que este erro ocorre nos produtos da Microsoft listados no início deste artigo.

Mais Informação

Passos 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>
    Nota este código define o atributo seleccionado para o terceiro elemento de opção.
  2. Guarde o documento como Test1.html.
  3. Abra o ficheiro Test1.html no Microsoft Internet Explorer.
  4. No Testar controlo clonada - Microsoft Internet Explorer janela, clique ClonedComboBox . É apresentada uma caixa de mensagem apresenta o valor da propriedade innerHTML do controlo de caixa de combinação clonado. Repare que o atributo seleccionado 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 . Receber uma caixa de mensagem apresenta o valor da propriedade innerHTML do controlo de caixa de listagem clonado. Repare que o atributo seleccionado não é apresentado.

Referências

Para mais informações sobre o método cloneNode , visite o seguinte Web site da 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 revisto ou traduzido por humanos. A Microsoft tem artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais. O objectivo é simples: oferecer em Português a totalidade dos artigos existentes na base de dados do suporte. Sabemos no entanto que a tradução automática não é sempre perfeita. Esta pode conter erros de vocabulário, sintaxe ou gramática? erros semelhantes aos que um estrangeiro realiza ao falar em Português. A Microsoft não é responsável por incoerências, erros ou estragos realizados na sequência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza actualizações frequentes 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 ArticleExclusão de Responsabilidade para Conteúdo sem Suporte na KB
Este artigo foi escrito sobre produtos para os quais a Microsoft já não fornece suporte. Por conseguinte, este artigo é oferecido "tal como está" e deixará de ser actualizado.