Autor Zpráva
qwerasd
Profil
Mohli byste mi prosím Vás někdo poradit proč tento skript nefunguje v IE
<HTML>
	<HEAD>
		<TITLE>Dynamically populating drop down, combobox, list box using JavaScript</TITLE>
		<SCRIPT language="javascript">
function Combo() {

        var textb = document.getElementById("txtCombo");
	var combo = document.getElementById("combo");
	
	var option = document.createElement("option");
	option.text = textb.value;
	option.value = textb.value;
	try {
		combo.add(option,null); //Standard 
	}catch(error) {
		combo.add(option); // IE only
	}
	textb.value = "";   
}
</SCRIPT>
	</HEAD>
	<BODY style="font-family: sans-serif">

		<fieldset>

			<legend>Combo box</legend>
			Add to Combo: <input type="text" name="txtCombo" id="txtCombo"/>
			<input type="button" value="Add" onclick="Combo()">
			<br>
			Combobox: <select name="combo" id="combo"></select>

		</fieldset>
	</BODY>

</HTML>
Chamurappi
Profil
Reaguji na qwerasda:
Funguje. Alespoň v sedmičce.
qwerasd
Profil
Chamurappi:
ale v 8 už bohužel ne
Darker
Profil
Skus měnit innerHTML. Zkoušel jsem to přes append node a taky to nešlo.
Chamurappi
Profil
Reaguji na qwerasda:
Nepravděpodobné. Prosím o odkaz na živou ukázku.


Reaguji na darkera:
Špatný nápad, měnění innerHTML tutově nefunguje v šestce a sedmičce.
Kajman_
Profil *
Nebo zkusit místo řádků 10-12
var option=new Option(textb,textb);
Kajman_
Profil *
Oprava
var option=new Option(textb.value,textb.value);
qwerasd
Profil
Chamurappi: našel jsem si tento kód na webu http://viralpatel.net/blogs/demo/dynamic-combobox-listbox-dropdown-in-javascript.html, pro svou potřebu jsem pak udělal místo input text dynamické pole které posílám na web z databáze. Ostatní věci zůstanou stejné. Něco takového:
<script language="JavaScript" type="text/javascript">  
function addCombo() 
{   
var text=[_zobrazitPDFlist_];
var i=0;
  do
  {
    var option = document.createElement("option");	
    option.text = text[i];
    option.value = text[i];
    try 
    {
      combo.add(option, null); 
    }catch(error) 
    {
      combo.add(option); 
    }	
    i=i+1; 
  }while((i<=199) && (text[i]!=''))   
}
</script>


zbytek kódu stránky s timto vůbec nesouvisí.

Kajman: ani tvůj nápad nepomohl, v IE opět nic a v mozzile to vypisuje po každém přidání do selectu [object HTMLInputElement].
Chamurappi
Profil
Reaguji na qwerasda:
Teď jsem si prověřil, že skript uvedený v příspěvku [#1] funguje bez problémů i v Exploreru 8.

Něco takového
To není živá ukázka. Dáváš nám sem bezproblémové skripty a tlačíš nás k vymýšlení podivností (mnohdy škodlivých). Nezdržuj a dodej odkaz na (klidně i osekanou) ukázku problému.


Reaguji na Kajmana:
new Option
Ještě jsem se nesetkal s tím, aby new Option fungoval jinak než document.createElement("option") (ale mám ho také raději, je stručnější).
Kajman_
Profil *
OT:
Chamurappi:
Já už si ty problémy moc nevybaji, ale před pár měsíci jsem měl problém dávat optiony do optgroup v ie. Koukám, že tam teď mám createElement, ale po přidání ještě innerText.
				group.appendChild(option);
				//explorer zapomene text svine
				option.innerText=option.text;

Možná mi tenkrát přišlo, že new Option fungoval v tohle případě korektně, ale težko říct - nemůžu si to vybavit.
qwerasd
Profil
Bohužel odkaz na stránku ti dát nemohu, jedu zatím přes localhost. Navíc komunikuju s ControlWebem, což je software na vizulalizace a přes ten pak jede SQL server. Níc ti nebude fungovat a bude ti to k ničemu. Mužu tu nanejvýš dát odkaz na stahnuti html kde je zmíněny kód. http://www.ulozto.cz/6575800/pridat-dok-htm
qwerasd
Profil
Nemůže to být jen někde v nastavení IE, protože kód v #1 mi vážně nic neprovede.
Kajman_
Profil *
qwerasd:
Relevantní kód html a javascriptu můžete vložit např na http://jsfiddle.net/ , nachystejte tam ten kód, co funguje ve firefoxu, nefunguje v ie a pak se na něj mistr Chamurappi spíše podívá, než nějaký stahovač s opisováním obrázků.
Chamurappi
Profil
Reaguji na qwerasda:
> Error: _zobrazitPDFlist_ is not defined
> Line: 15
Když už mě nutíš opisovat nějakou praštěnou captchu, proč posíláš polotovar, který nefunguje nikde? Copak tenhle kód je určen ke zpracování prohlížečem?
Tipuji, že chyba bude v tom řádku 15, který jsme zatím neviděli, a že to bude přebývající čárka.

protože kód v #1 mi vážně nic neprovede
V kódu v [#1] není <!doctype>, který ovlivňuje vykreslovací režim a v osmičce tím pádem může ovlivnitř i JS. V té věci na ulozto.cz <!doctype> je. Nechce se mi zkoušet, jak funguje kód z [#1] s <!doctype>m, ale předpokládám, že stejně. Už se mi nechce zkoušet nic.
qwerasd
Profil
Omlouvám se tahle proměnná se posílá z Controlwebu dynamicky a vytvoří úsek html kódu _zobrazitPDFlist_. A už jsem tady psal že Vám to nemůže ani fungovat. Proto neposílám celé stránky a jen části v #1. Takže asi tak http://jsfiddle.net/dJNzZ/ tohle je jen část která když bude fungovat v IE8 tak si to už předělám podle sebe. Když tohle spustím v IE8 u sebe tak to nejede, před chvili jsem ji přeinstaloval a nedělá nic. Tak nevím proč to funguje chamurappimu a u mě ne.
qwerasd
Profil
No tak už jsem zjistil proč. Bylo to v nastaveni IE8, ale i tak díky moc za snahu a hodně nervů se mnou.
Kajman_
Profil *
qwerasd:
Tak se ještě podělte, kterým nastavením to bylo, až bude někdo řešit stejný problém.
Chamurappi
Profil
Reaguji na qwerasda:
Bylo to v nastaveni IE8
V jakém?
qwerasd
Profil
Musí se povolit zabezpečení pro spuštění skriptů nebo ovládacích prvků ActiveX
qwerasd
Profil
Při spuštění vyskočí uzké vyskakovací okno s povolením. Otázkou je jestli je to permanentní nastavení v IE, antiviru nebo firewallu. Nejak se mi to nedaří zjistit, až se mi to povede dám vědět.
qwerasd
Profil
Musí se nastavit povolení spuštění aktivního obsahu:
Povolení spouštění skriptů a ovládacích prvků ActiveX jakoukoli webovou stránkou

1. V aplikaci Internet Explorer klepněte na tlačítko Nástroje a potom na příkaz Možnosti Internetu.
2. Klepněte na kartu Upřesnit a potom na seznam Nastavení přesuňte se dolů na část Zabezpečení.
3. Zaškrtněte políčko Povolit spuštění aktivního obsahu v souborech v počítači a klepněte na tlačítko OK.
Chamurappi
Profil
Reaguji na qwerasda:
Aha. Celou dobu šlo jen o to, že jsi stránku spouštěl z disku a nevšiml sis, že při takovém postupu nefungují vůbec žádné skripty (je to výchozí nastavení). Kdybys někam na web nahrál ukázku, tak ta by ti fungovala.

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0