| | |
| Stránka: 1 z 1
| [ Príspevkov: 13 ] | |
Autor | Správa |
---|
Registrovaný: 07.08.06 Prihlásený: 18.11.21 Príspevky: 947 Témy: 268 Bydlisko: Levice |
Mam takyto ajax/php script na interaktivne menu SELECT. Proste ked zvoli nejaku polozku v jednom selecte, objavia sa v druhom selecte podkategorie.
Avsak funguje to aj vo FF, Opere, Chrome, ale v IE6 - IE8 to nejde vobec... Druhy select s podkategoriami je vzdy prazdny. Viete mi prosim poradit kde moze byt chyba?
Tu je cely script:
Kód: <?php $list1[0] = "Zvolte kategoriu"; $list1[1] = "Kategoria 1"; $list1[2] = "Kategoria 2";
if( isset($_GET['Param']) ) { $NewData = ""; $P = (int)$_GET['Param']; //subkategorie $DB[1][] = "vsetky"; $DB[1][] = "subkategoria 1"; $DB[1][] = "subkategoria 2";
$DB[2][] = "NewItem2 - 1"; $DB[2][] = "NewItem2 - 2"; $row = $DB[$P]; foreach($row as $K1 => $V1) { $NewData .= "<option value='$K1'>$V1</option>\n"; } echo $NewData; exit; } ?>
<script language="javascript">
function ajaxFunction(ID, Param) { //link to the PHP file your getting the data from //var loaderphp = "register.php"; //i have link to this file var loaderphp = "<?php echo $_SERVER['PHP_SELF'] ?>"; //we don't need to change anymore of this script var xmlHttp; try { // Firefox, Opera 8.0+, Safari xmlHttp=new XMLHttpRequest(); }catch(e){ // Internet Explorer try { xmlHttp=new ActiveXObject("Msxml2.XMLHTTP"); }catch(e){ try { xmlHttp=new ActiveXObject("Microsoft.XMLHTTP"); }catch(e){ alert("Your browser does not support AJAX!"); return false; } } } xmlHttp.onreadystatechange=function() { if(xmlHttp.readyState==4) { document.getElementById(ID).innerHTML = xmlHttp.responseText; } } xmlHttp.open("GET", loaderphp+"?Param="+Param,true); xmlHttp.send(null); } </script> a este HTML hned pod to Kód: <label>Kategoria</label><select name="kateg" onchange="ajaxFunction('LBox2', this.value);" > <?php foreach($list1 as $K1 => $V1) { echo "<option value='$K1'>$V1</option>"; } ?> </select> <br /><br /> <label>Podkategorie</label><select name="subkateg" id="LBox2" > <!-- OK the ID of this list box is LBox2 as refered to above --> </select>
|
|
Registrovaný: 11.08.07 Príspevky: 4088 Témy: 34 Bydlisko: Brno | Napísal Ďuri: 09.10.2009 17:35 | |
|
V IE8 stlac F12 > Script > Start debugging a napis, co hlasi chybova konzola.
|
|
Registrovaný: 07.08.06 Prihlásený: 18.11.21 Príspevky: 947 Témy: 268 Bydlisko: Levice | Napísal autor témy neopagan: 09.10.2009 21:01 | |
|
vysledkom debuggingu je NIC ... v Konzole nevypisalo absolutne nic
|
|
Registrovaný: 11.08.07 Príspevky: 4088 Témy: 34 Bydlisko: Brno | Napísal Ďuri: 09.10.2009 21:07 | |
|
Vyskusaj si, ci v IE funguje menenie innerHTML elementu <select>. Nemam IE, nemozem to vyskusat.
|
|
Registrovaný: 07.08.06 Prihlásený: 18.11.21 Príspevky: 947 Témy: 268 Bydlisko: Levice | Napísal autor témy neopagan: 09.10.2009 21:22 | |
|
co presne mas na mysli Duri, ako vyskusat innerHTML?
vobec nechapem, preco to v IE nejde, vsade inde to funguje.. a este ked si pozries ten skript, je tam v ajaxovej casti zvlast pre Internet explorer..tak fakt neviem preco to nejde...
|
|
Registrovaný: 11.08.07 Príspevky: 4088 Témy: 34 Bydlisko: Brno | Napísal Ďuri: 09.10.2009 21:34 | |
|
Vyskusaj napriklad toto:
Kód: <!doctype html> <select id=s><option>FAIL</option></select> <script> document.getElementById('s').innerHTML = '<option>PASS</option>'; </script> Ci budes vidiet pass alebo fail.
Vyskusaj si dat alert(xmlHttp.responseText) do tej vetvy if (xmlHttp.readyState==4), nech vidime, ci sa tam skript dostane a ci ziska pozadovane udaje.
Co sa tyka kodu pre IE, nic si z neho nerob, IE7 a vyssie pouzivaju rovnaky XMLHttpRequest() ako ostatne prehliadace.
|
|
Registrovaný: 07.08.06 Prihlásený: 18.11.21 Príspevky: 947 Témy: 268 Bydlisko: Levice | Napísal autor témy neopagan: 09.10.2009 21:55 | |
|
takze zistil som toto:
v IE8:
1/ ten tvoj script - v SELECTE neni ani PASS, ani FAIL..je tam len prazdne miesto
2/ alert v mojom scripte: po zvoleni polozky v prvom selecte sa ten alert vypise - option value atd...vypise vsetko co by malo byt v tom druhom selecte, ale v druhom selecte je opat len prazdne miesto...
Vo FF funguje vsetko: v Selecte je PASS, alert vypise, aj v druhom selecte je to co ma byt. Ale IE nejde.
Zda sa ze nieco bude s vypisom do druheho selectu...
|
|
Registrovaný: 11.08.07 Príspevky: 4088 Témy: 34 Bydlisko: Brno | Napísal Ďuri: 10.10.2009 10:29 | |
|
Zrejme bude problem s innerHTML elementu <select>. Cosi som o tom nasiel. Odporucil by som ti vkladat <option>y klasicky pomocou document.createElement a appendChild.
|
|
|
Alebo proste uzavri ten select do divu a inneruj ten div ale aj s <select>.
ps: a nezabudaj udavat type v <script>
|
|
Registrovaný: 11.08.07 Príspevky: 4088 Témy: 34 Bydlisko: Brno | Napísal Ďuri: 10.10.2009 21:20 | |
|
Ded'leg píše: Alebo proste uzavri ten select do divu a inneruj ten div ale aj s <select>. Dobry napad. Ded'leg píše: ps: a nezabudaj udavat type v <script> Naco? Na funkcnost v prehliadacoch to vplyv nema.
|
|
|
Ďuri píše: Naco? Na funkcnost v prehliadacoch to vplyv nema.
No to zavisi natom ako to prehliadac pochopi... prehliadace to chapu ako javascript lebo ziadny iny nepoznaju.
Ale IE ma aj VBScript. Neviem ako to uz je dnes ale ked boli tie starsie verzie ie browsrov nie kazdy to chapal ako javascript...
A koniec koncov sak je to aj povinny udaj...
|
|
Registrovaný: 11.08.07 Príspevky: 4088 Témy: 34 Bydlisko: Brno | Napísal Ďuri: 11.10.2009 7:39 | |
|
Prehliadace, ktore sa rozhodovali medzi viacerymi skriptovacimi jazykmi, pouzivali atribut language, nie type. Kazdy prehliadac ma navyse urceny defaultny skriptovaci jazyk, ktory byva Javascript/JScript.
Ded'leg píše: A koniec koncov sak je to aj povinny udaj Dokedy sa chces pridrziavat nezmyselnych pravidiel a chybnych specifikacii HTML4/XHTML1?
|
|
Registrovaný: 07.08.06 Prihlásený: 18.11.21 Príspevky: 947 Témy: 268 Bydlisko: Levice | |
| Stránka: 1 z 1
| [ Príspevkov: 13 ] | |
Podobné témy | Témy | Odpovede | Zobrazenia | Posledný príspevok |
---|
| nefunguje script v JavaScript, VBScript, Ajax | 4 | 452 | 06.04.2010 18:35 Ďuri | | Nefunguje script pre input formulara v JavaScript, VBScript, Ajax | 13 | 849 | 23.08.2010 15:38 newboy1 | | Nefunguje mi script na upload suborov v PHP, ASP | 9 | 719 | 22.02.2008 20:44 vl4kn0 | | Nefunguje mi script na odosielanie mailu v PHP, ASP | 1 | 483 | 15.12.2009 15:56 Snacker | | script nefunguje po pridaní tagu <form> v JavaScript, VBScript, Ajax | 5 | 527 | 06.04.2011 16:07 1daemon1 | | Script v Ostatné | 8 | 1025 | 01.09.2007 14:15 qacer | | Script v JavaScript, VBScript, Ajax | 0 | 436 | 04.06.2012 16:54 GooderSvk | | Script v JavaScript, VBScript, Ajax | 13 | 511 | 15.05.2014 17:28 shaggy | | script v Assembler, C, C++, Pascal, Java | 10 | 1020 | 13.03.2008 21:12 buslo | | Bazar (script) v Redakčné systémy | 0 | 912 | 05.02.2011 15:19 capricorn7 | | Hladam script v PHP, ASP | 14 | 692 | 25.06.2009 17:29 Slappy | | Reboot script v Operačné systémy Unix a Linux | 0 | 318 | 27.11.2012 16:20 XOLOO | | Tipovaci script? v Ostatné | 6 | 647 | 23.09.2009 12:27 hajtrak | | Pomoc script v PHP, ASP | 7 | 549 | 07.03.2008 19:05 jaji | | vlastný script v Operačné systémy Unix a Linux | 2 | 743 | 25.08.2007 1:12 wire | | blbne script v PHP, ASP | 2 | 519 | 13.08.2011 16:26 juho |
| Nemôžete zakladať nové témy v tomto fóre Nemôžete odpovedať na témy v tomto fóre Nemôžete upravovať svoje príspevky v tomto fóre Nemôžete mazať svoje príspevky v tomto fóre
|
|