- Ismét egy "Idióta" A.I. Projekt, hogy meglovagolja az aktuális trendeket...
- Időutazás floppyval: A 486-os visszavág PCem-men
- AMD Ryzen 9 9900X (100-100000662WOF)+ Samsung 990 PRO 2TB MZ-V9P2T0BW
- Processzor és videokártya szilícium mag fotók újratöltve!
- Az e-sport napistenének ajándéka: Lamzu Inca gamer egér
- laskr99: Processzor és videokártya szilícium mag fotók újratöltve!
- sziku69: Fűzzük össze a szavakat :)
- Luck Dragon: Asszociációs játék. :)
- gban: Ingyen kellene, de tegnapra
- No Voice in the Galaxy
- Rap, Hip-hop 90'
- GoodSpeed: AMD Ryzen 9 9900X (100-100000662WOF)+ Samsung 990 PRO 2TB MZ-V9P2T0BW
- Magga: PLEX: multimédia az egész lakásban
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- sziku69: Szólánc.
Hirdetés
-
LOGOUT
JavaScript != Java (A JavaScript nem összekeverendő a Javával, két különböző programozási nyelvről van szó!)
Új hozzászólás Aktív témák
-
Male
nagyúr
Hmmm... azthiszem sejtem hogyan... és akkor nem a hívásnál kapott paraméterből, hanem a kapott válaszból veszem, hogy hová is kell tenni az adott adatot az oldalon, ami tényleg kiküszöböli a zavart.
(Most kicsit túlléptem ezen, mert a szinkron átvitellel működik, és sok más rész van amit még meg kell oldanom... aztán visszatérek és kipróbálom ezt a dolgot)
-
Male
nagyúr
Végülis blokkolnia is kell, mert a következő selectben addig úgyse tudna mit csinálni... hiszen nem jelenik meg. Vagy akkor is gond? (a többi felhasználóra nem hat, nem???)
Az id-t elküldöm még oké... beteszem ebbe:
xmlhttp.open("GET","adataim_2_selectekhez.php?kivalasztott="+kivalasztott+"&mi="+mi+"&sorszam="+sorszam+"&preselect="+kov_preselect+"&id="+hova,false);...de hogy küldöm vissza és hogy használom fel? Mit kell hozzá máshogy csinálnom?
Most az 'adataim_2_selectekhez.php' egyszerűen kiprinteli a megfelelő selectet.
-
Male
nagyúr
Közben gugliztam tovább, találtam egy megoldást, csak ez meg lassú...
xmlhttp.open("GET","adataim_2_selectekhez.php?kivalasztott="+kivalasztott+"&mi="+mi+"&sorszam="+sorszam+"&preselect="+kov_preselect,false);
Így megvárja mindig a szerver válaszát... kérdés, hogy van e ennél jobb módszer? Illetve hogy ez 100%-os e...
-
Male
nagyúr
Köszi, közben tapasztalom is amit írsz... ha valamiért az egyik lassabban végez (a php-ba ami kiprinteli a következő selectet betettem egy sleep-et előre, szimulálandó ezt a dolgot), akkor összekavarodnak a válaszok
Hogy lehet akkor ezt biztosan megkerülni? Valahová gondolom kéne egy utasítás, ami megvárja a választ... de hová, és mi az?
-
Male
nagyúr
Megoldottam... de valaki ezt magyarázza meg nekem, mert nem bírom felfogni...
Tehát ehelyett:
<script type="text/javascript">
showSelects('3','fo','4','kepes4_al','3');
showSelects('3','al','4','kepes4_szint','3');
</script>Ezt használva:
<script type="text/javascript">
showSelects('3','fo','4','kepes4_al','3');
var t=setTimeout("showSelects('3','al','4','kepes4_szint','3')",0);
</script>...tökéletesen működik...
Tehát 0 ezredmásodpercig váratom, és akkor jól megy... mégis mi a fenét befolyásol ez??? -
Male
nagyúr
Remélem tudtok segíteni... előzetesen: egyáltalán nem értek a JavaScripthez, a w3cschoolról szedtem le az egyik mintát, azt írtam át kicsit, hogy nekem jó legyen.
Amit csinálok: egy selectnél ha kiválaszt valamit a felhasználó, akkor mellette megjelenik a másik select a kiválasztottnak megfelelően, aztán ha ott is választ, akkor a harmadik. Ehhez a select tagnél az "onchange"-et használom, ez hívja meg a scriptet. Ez alapvetően működik is szépen, viszont előfordul, hogy eleve úgy kell kitennem az oldalt, hogy már mindhárom select látszik és ki is van választva valami. Naívan azt hittem, hogy ilyenkor egyszerűen meghívom kétszer a scripetem, ahogy az onchange tenné, és kész is.. de sajnos nem megy, mindig csak a másodiknak az eredménye jelenik meg (ha felcserélem, akkor is a második működik).
Mi lehet a gond? Nem lehet kétszer meghívni ugyan azt a függvényt???
Tehát ezt csinálom amiből valamiért csak a második jelenik meg az oldalon:
<script type="text/javascript">
showSelects('3','fo','4','kepes4_al','3');
showSelects('3','al','4','kepes4_szint','3');
</script>A 4 paraméter:
- Mi van az adott selectben kiválasztva éppen
- Al vagy fő kategória az adott select
- Hányadik select blokk
- A span id-je, ahová majd teszi a kimenetet (vagyis a köv. selectet)
- A következő selectben mi van előre kiválasztvaA scriptem pedig:
<script type="text/javascript">
function showSelects(kivalasztott,mi,sorszam,hova,kov_preselect)
{
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
document.getElementById(hova).innerHTML=xmlhttp.responseText;
}
}
xmlhttp.open("GET","adataim_2_selectekhez.php?kivalasztott="+kivalasztott+"&mi="+mi+"&sorszam="+sorszam+"&preselect="+kov_preselect,true);
xmlhttp.send();
}
</script>
Új hozzászólás Aktív témák
- AMD GPU-k jövője - amit tudni vélünk
- A lemondást javasolja az Intel vezetőjének Donald Trump
- Windows 11
- laskr99: Processzor és videokártya szilícium mag fotók újratöltve!
- Háztartási gépek
- Futás, futópályák
- Milyen billentyűzetet vegyek?
- sziku69: Fűzzük össze a szavakat :)
- Luck Dragon: Asszociációs játék. :)
- Vicces képek
- További aktív témák...
- 8 GB GeForce RTX 3050 - garanciával
- Számlás!Steam,EA,Epic és egyébb játékok Pc-re vagy XBox!
- LG 40WP95XP-W - 40" NANO IPS - 5120x2160 5K - 72Hz 5ms - TB 4.0 - HDR - AMD FreeSync
- LG 27GR95QE - 27" OLED / QHD 2K / 240Hz & 0.03ms / NVIDIA G-Sync / FreeSync Premium / HDMI 2.1
- HP EliteBook 830 G8 i5-1135G7 16GB 512GB 1 év garancia
Állásajánlatok
Cég: FOTC
Város: Budapest