Autor | Zpráva | ||
---|---|---|---|
qwerasd Profil |
#1 · Zasláno: 16. 11. 2010, 09:01:24
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 |
#2 · Zasláno: 16. 11. 2010, 09:18:05
Reaguji na qwerasda:
Funguje. Alespoň v sedmičce. |
||
qwerasd Profil |
#3 · Zasláno: 16. 11. 2010, 09:21:14
Chamurappi:
ale v 8 už bohužel ne |
||
Darker Profil |
#4 · Zasláno: 16. 11. 2010, 09:26:42
Skus měnit innerHTML. Zkoušel jsem to přes append node a taky to nešlo.
|
||
Chamurappi Profil |
#5 · Zasláno: 16. 11. 2010, 09:32:46
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 * |
#6 · Zasláno: 16. 11. 2010, 09:35:11
Nebo zkusit místo řádků 10-12
var option=new Option(textb,textb); |
||
Kajman_ Profil * |
#7 · Zasláno: 16. 11. 2010, 09:35:56
Oprava
var option=new Option(textb.value,textb.value); |
||
qwerasd Profil |
#8 · Zasláno: 16. 11. 2010, 09:56:16
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 |
#9 · Zasláno: 16. 11. 2010, 10:25:20
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 * |
#10 · Zasláno: 16. 11. 2010, 10:38:24
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 |
#11 · Zasláno: 16. 11. 2010, 10:43:56
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 |
#12 · Zasláno: 16. 11. 2010, 10:46:01
Nemůže to být jen někde v nastavení IE, protože kód v #1 mi vážně nic neprovede.
|
||
Kajman_ Profil * |
#13 · Zasláno: 16. 11. 2010, 10:48:05
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 |
#14 · Zasláno: 16. 11. 2010, 11:01:52 · Upravil/a: Chamurappi
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 |
#15 · Zasláno: 16. 11. 2010, 11:16:56
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 |
#16 · Zasláno: 16. 11. 2010, 11:19:42
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 * |
#17 · Zasláno: 16. 11. 2010, 11:27:26
qwerasd:
Tak se ještě podělte, kterým nastavením to bylo, až bude někdo řešit stejný problém. |
||
Chamurappi Profil |
#18 · Zasláno: 16. 11. 2010, 11:29:51
Reaguji na qwerasda:
„Bylo to v nastaveni IE8“ V jakém? |
||
qwerasd Profil |
#19 · Zasláno: 16. 11. 2010, 12:00:43
Musí se povolit zabezpečení pro spuštění skriptů nebo ovládacích prvků ActiveX
|
||
qwerasd Profil |
#20 · Zasláno: 16. 11. 2010, 12:17:55
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 |
#21 · Zasláno: 16. 11. 2010, 12:38:22
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 |
#22 · Zasláno: 16. 11. 2010, 12:51:08
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. |
||
Časová prodleva: 13 let
|
0