Momentan sunteți offline, așteptați să vă reconectați la internet

BUG: Internet Explorer nu reuşeşte pentru a seta innerHTML proprietatea de selectare obiect

IMPORTANT: Acest articol a fost tradus de software-ul de traducere automată Microsoft, si nu de un traducător. Microsoft vă oferă atât articole traduse de persoane, cât şi articole traduse automat, astfel incat aveti access la toate articolele din Baza noastră de informatii în limba dvs. materna. Totuşi, un articol tradus automat nu este întotdeauna perfect. Acesta poate conţine greşeli de vocabular, sintaxă sau gramatică, la fel cum un vorbitor străin poate face greşeli vorbind limba dvs. materna. Compania Microsoft nu este responsabilă pentru nici o inexactitate, eroare sau daună cauzată de traducerea necorespunzătoare a conţinutului sau de utilizarea traducerii necorespunzătoare de către clienţii nostri. De asemenea, Microsoft actualizează frecvent software-ul de traducere automată.

Faceți clic aici pentru a vizualiza versiunea în limba engleză a acestui articol:276228
Exonerare de răspundere pentru conţinutul din Baza de cunoştinţe referitor la produse cu suport retras
Acest articol se referă la produsele pentru care Microsoft nu mai oferă asistenţă. De aceea, acest articol se oferă astfel şi nu se va mai actualiza.
SIMPTOME
Când setaţi proprietatea innerHTML de Selectare obiect, nu intră în vigoare modificările corect.
REZOLUŢIE
Dacă trebuie să utilizaţi innerHTML, o soluţie este să utilizaţi un obiect Div wrap SELECTAŢI elementul şi apoi setaţi proprietatea innerHTML pentru obiectul Div . De exemplu:
<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>				

În mod ideal, ar trebui să utilizaţi o colecţie de Opţiuni pentru a adăuga unui element SELECTAŢI opţiunile. Următorul cod arată trei moduri de a programatic adăuga opţiuni la elementul SELECTAŢI:
<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>				
STARE
Microsoft a confirmat că aceasta este o problemă în produsele Microsoft enumerate la începutul acestui articol.
INFORMAŢII SUPLIMENTARE

Paşi pentru a Reproduce comportament

Codul eșantionului următor ilustrează acest bug-ul:
<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>				
REFERINŢE
Pentru mai multe informaţii despre Selectare obiect, consultaţi următorul articol pe Reţea Microsoft pentru dezvoltatori (MSDN):Pentru mai multe informaţii despre colectarea Opţiuni , consultaţi următorul articol pe MSDN:

Avertisment: acest articol a fost tradus automat

Proprietăți

ID articol: 276228 - Ultima examinare: 05/17/2012 05:24:00 - Revizie: 2.0

  • kbbug kbdhtml kbnofix kbmt KB276228 KbMtro
Feedback