Σφάλμα: Ο Internet Explorer αποτύχει για να ορίσετε την ιδιότητα του αντικειμένου επιλέξτε innerHTML

Μεταφράσεις άρθρων Μεταφράσεις άρθρων
Αναγν. άρθρου: 276228
Ανάπτυξη όλων | Σύμπτυξη όλων

Σε αυτήν τη σελίδα

Συμπτώματα

Όταν ορίζετε την ιδιότητα innerHTML του αντικειμένου επιλέξετε , οι αλλαγές δεν εφαρμόζονται σωστά.

Προτεινόμενη αντιμετώπιση

Εάν χρησιμοποιείτε innerHTML, μια λύση είναι να χρησιμοποιήσετε ένα αντικείμενο Div αναδίπλωση ΕΠΙΛΈΞΤΕ το στοιχείο και στη συνέχεια να ορίσετε την ιδιότητα innerHTML για το αντικείμενο Div . Για παράδειγμα:
<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>
				

Ιδανικά, θα πρέπει να μπορείτε να χρησιμοποιήσετε τη συλλογή Επιλογές για να προσθέσετε τις επιλογές ενός στοιχείου ΕΠΙΛΟΓΉΣ. Ο ακόλουθος κώδικας εμφανίζει τρεις τρόπους για να προσθέσετε επιλογές μέσω προγραμματισμού το στοιχείο SELECT:
<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>
				

Κατάσταση

Microsoft έχει επιβεβαιώσει ότι πρόκειται για σφάλμα σε προϊόντα της Microsoft που παρατίθενται στην αρχή αυτού του άρθρου.

Περισσότερες πληροφορίες

Βήματα για την αναπαραγωγή συμπεριφοράς

Το ακόλουθο δείγμα κώδικα δείχνει αυτό το σφάλμα:
<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>
				

Αναφορές

Για περισσότερες πληροφορίες σχετικά με την επιλογή αντικειμένου, ανατρέξτε στο ακόλουθο άρθρο σχετικά με το Microsoft Developer Network (MSDN):
Επιλέξτε αντικείμενο
Για περισσότερες πληροφορίες σχετικά με τη συλλογή των επιλογών , ανατρέξτε στο ακόλουθο άρθρο στο MSDN:
Επιλογές συλλογής

Ιδιότητες

Αναγν. άρθρου: 276228 - Τελευταία αναθεώρηση: Πέμπτη, 17 Μαΐου 2012 - Αναθεώρηση: 4.0
Λέξεις-κλειδιά: 
kbbug kbdhtml kbnofix kbmt KB276228 KbMtel
Μηχανικά μεταφρασμένο
ΣΗΜΑΝΤΙΚΟ: Αυτό το άρθρο είναι προϊόν λογισμικού μηχανικής μετάφρασης της Microsoft και όχι ανθρώπινης μετάφρασης. Η Microsoft σάς προσφέρει άρθρα που είναι προϊόντα ανθρώπινης αλλά και μηχανικής μετάφρασης έτσι ώστε να έχετε πρόσβαση σε όλα τα άρθρα της Γνωσιακής Βάσης μας στη δική σας γλώσσα. Ωστόσο, ένα άρθρο που έχει προκύψει από μηχανική μετάφραση δεν είναι πάντα άριστης ποιότητας. Ενδέχεται να περιέχει λεξιλογικά, συντακτικά ή γραμματικά λάθη, όπως ακριβώς τα λάθη που θα έκανε ένας μη φυσικός ομιλητής επιχειρώντας να μιλήσει τη γλώσσα σας. Η Microsoft δεν φέρει καμία ευθύνη για τυχόν ανακρίβειες, σφάλματα ή ζημίες που προκύψουν λόγω τυχόν παρερμηνειών στη μετάφραση του περιεχομένου ή χρήσης του από τους πελάτες της. Επίσης, η Microsoft πραγματοποιεί συχνά ενημερώσεις στο λογισμικό μηχανικής μετάφρασης.
Η αγγλική έκδοση αυτού του άρθρου είναι η ακόλουθη:276228
Αποποίηση ευθυνών για περιεχόμενο της Γνωσιακής Βάσης (KB) που έχει αποσυρθεί
This article was written about products for which Microsoft no longer offers support. Therefore, this article is offered "as is" and will no longer be updated.

Αποστολή σχολίων

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com