Chyba: Internet Explorer nedodrží Set innerHTML výber objektu

DÔLEŽITÉ: Tento článok bol preložený pomocou softvéru na strojový preklad od spoločnosti Microsoft, nie prekladateľom. Spoločnosť Microsoft ponúka články preložené prekladateľmi aj strojovo preložené články, vďaka čomu máte možnosť prístupu ku všetkým článkom databázy Knowledge Base vo svojom jazyku. Strojovo preložený článok však nie je vždy perfektný. Môže obsahovať chyby týkajúce sa slovnej zásoby, syntaxe alebo gramatiky, podobne ako cudzinec môže robiť chyby, keď rozpráva vašim jazykom. Spoločnosť Microsoft nenesie zodpovednosť za akékoľvek nepresnosti, chyby alebo škody spôsobené akýmkoľvek nepresným prekladom obsahu alebo jeho použitím zo strany zákazníkov. Spoločnosť Microsoft softvér na strojový preklad pravidelne aktualizuje.

Pokiaľ chcete vidieť anglickú verziu článku, kliknite sem:276228
Upozornenie na neaktuálny obsah článku databázy KB
Tento článok obsahuje informácie o produktoch, pre ktoré spoločnosť Microsoft už neposkytuje technickú podporu. Z tohto dôvodu je tento článok publikovaný ako nezmenený a už nebude aktualizovaný.
PRIZNAKY
Ak nastavíte vlastnosť innerHTMLVybrať objekt, zmeny sa neprejavia správne.
RIESENIE
Ak musíte použiť innerHTML, riešenie je použitie objektu Div zábal vyberte prvok a potom nastavte vlastnosť innerHTMLDiv objektu. Napríklad:
<html><head><title>My Example</title><script language="Javascript">var origDivHTML;function init(){   origDivHTML = myDiv.innerHTML;}function setValues() {   var oldinnerHTML = "your original innerHTML: " + yourDiv.innerHTML ; 	   alert(oldinnerHTML);   yourDiv.innerHTML = origDivHTML;	    var curinnerHTML = "your current innerHTML: " + yourDiv.innerHTML ;    alert(curinnerHTML); }</script></head><body onload="init()"><div id="myDiv">  <select name="firstSelect" size="1" >    <option>11111</option>    <option>22222</option>    <option>33333</option>  </select></div><div id="yourDiv">  <select name="secondSelect" size="1" >    <option>aaaa</option>    <option>bbbb</option>    <option>cccc</option>  </select></div><button onclick = "setValues();">click me to set the values</button></body></html>				

V ideálnom prípade by ste mali použiť Možnosti zberu pridávať možnosti vyberte prvok. Nasledujúci kód zobrazuje tri spôsoby, ako programovo pridávať možnosti na výber prvku:
<HTML><HEAD><TITLE></TITLE></HEAD><BODY><script>function fill_select1() {	for(var i=0; i < 100; i++) {			select1.options[i] = new Option(i,i);		}}function fill_select2() {		var sOpts = "<SELECT>";		for (var i=0;i<100;i++)		{			sOpts += '<OPTION VALUE="' + i + '">' + i + '</OPTION>\n';		}			select2.outerHTML = sOpts  + "</SELECT>";}function fill_select3() {	for(var i=0; i < 100; i++) {		   var oOption = document.createElement("OPTION");		   oOption.text="Option:  " + i;		   oOption.value=i;		   document.all.select3.add(oOption)		}}</script><H2>SELECT Box Population</H2><SELECT id=select1 name=select1></SELECT><INPUT type="button" value="Populate with options list" id=button1 name=button1 onclick="fill_select1();"><BR><BR><SELECT id=select2 name=select2></SELECT> <INPUT type="button" value="Populate with outerHTML" id=button2 name=button2 onclick="fill_select2();"><BR><BR><SELECT id=select3 name=select3></SELECT><INPUT type="button" value="Populate with using createElement" id=button3 name=button3 onclick="fill_select3();"></BODY></HTML>				
STAV
Spoločnosť Microsoft potvrdila, že ide o chybu v produktoch spoločnosti Microsoft, ktoré sú uvedené na začiatku tohto článku.
DALSIE INFORMACIE

Kroky na reprodukovanie správanie

Nasledujúci kód vzorky ilustruje túto chybu:
<html><head><script language="JavaScript">  function test(){    var objSelect = document.all.idSelect;    var strOrigHTML     = objSelect.innerHTML;    objSelect.innerHTML = strOrigHTML;    var strNewHTML      = objSelect.innerHTML;    if (strNewHTML == strOrigHTML)        alert("Test passed.");    else        alert("Test failed: innerHTML = " + strNewHTML );}</script></head><body>  <select id="idSelect">    <option value="line1">Option 1</option>    <option value="line2">Option 2</option>  </select>  <input type="button" value="test" onClick="test()" /></body></html>				
ODKAZY
Ďalšie informácie o Výber objektu, pozri nasledujúci článok o webová lokalita Microsoft Developer Network (MSDN):Ďalšie informácie o Možnosti zberu, pozri nasledujúci článok na lokalite MSDN:

Upozornenie: Tento článok bol preložený automaticky.

Vlastnosti

ID článku: 276228 – Posledná kontrola: 05/17/2012 05:26:00 – Revízia: 3.0

  • kbbug kbdhtml kbnofix kbmt KB276228 KbMtsk
Pripomienky