Autor | Zpráva | ||
---|---|---|---|
Spilky Profil * |
#1 · Zasláno: 18. 6. 2013, 14:45:43
Mám následující úsek kódu v jQuery a potřebuji, aby se hodnota <select name="sirka" /> okamžitě po změně uložila do $_POST['sirka'] a znovu načetla stránka, kde již budu s hodnotou v $_POST pomocí PHP pracovat. Avšak když dám $echo $_POST['sirka'], tak se nic nevypíše. Kde by mohla býti chyba?
$("select[name='sirka']").change(function(){ $('form.filtry').css({ opacity: 0.3 }); $('#loader').show(); var sirka = $("[name='sirka']").val(); $.post("/prehledzbozibazar.php", {img: sirka}); location.reload(); $('form.filtry').css({ opacity: 1 }); }); |
||
Joker Profil |
#2 · Zasláno: 18. 6. 2013, 14:58:41
Spilky:
Ten uvedený kód žádné $_POST["sirka"] neposílá, zato posílá $_POST["img"]. |
||
peta Profil |
print_r($_POST); var sirka = $("[name='sirka']").val(); $.post("/prehledzbozibazar.php", {img: sirka}); // vzdyt tam mas img ... $echo $_POST['sirka'] |
||
Chamurappi Profil |
#4 · Zasláno: 18. 6. 2013, 15:09:20
Reaguji na Spilkyho:
Teoreticky se nemusí stihnout vyslat požadavek (nebo přijmout ze strany serveru), prohlížeč může stránku prakticky okamžitě po zavolání location.reload() zrušit.
Ale spíš je problém v jiném názvu parametru a také v tom, že v té nově načtené stránce nemůžeš pracovat s $_POST em, který dostala jiná stránka AJAXem.
Proč vlastně vymýšlíš nějaké šílenosti s AJAXem a následným znovunačtením? Proč neodešleš formulář normálně? Nestačí obyčejný onchange="this.form.submit()" ?
|
||
Spilky Profil * |
#5 · Zasláno: 18. 6. 2013, 15:09:56 · Upravil/a: Spilky
Jo to byla jen chybka při kopírování ;) je tam správně sirka: sirka
Z této stránky to spouštím http://admin.xxaaca.cz/#prehledzbozibazar/Bazar/false ta je složena samozřejmě i ze souboru prehledzbozibazar.php je toto správně? [#4] Chamurappi this.form.submit mě vůbec nenapadlo, s tímhle začínám, takže jsem o tom ani nevěděl. Avšak, i když jsem ho použil, tak mám stále problém: Takto to nefunguje: <form class="filtry" action="/#prehledzbozibazar/Bazar/true" method="post"> Takto ano: <form class="filtry" action="/prehledzbozibazar.php" method="post"> avšak já potřebuji, aby to fungovalo pro ten první případ, protože prehledzbozibazar.php je jen includlé. |
||
_es Profil |
#6 · Zasláno: 18. 6. 2013, 15:38:47
Spilky:
„avšak já potřebuji, aby to fungovalo pro ten první případ“ Pre ten prvý prípad to fungovať nemôže, lebo časť adresy za mriežkou prehliadač vôbec neodosiela. |
||
Spilky Profil * |
#7 · Zasláno: 18. 6. 2013, 15:44:09
prostě a jednoduše to potřebuju postnout na tu samou stránku
teď to mám takto, ale stále nic: <form class="filtry" action="<?php $_SERVER['PHP_SELF']; ?>" method="post"> |
||
_es Profil |
Spilky:
A celý formulár vyzerá ako? „prostě a jednoduše to potřebuju postnout na tu samou stránku“ Na to nemusíš mať atribút action ani vyplnený: Formuláře » form.
|
||
Spilky Profil * |
#9 · Zasláno: 18. 6. 2013, 17:05:01
<form class="filtry" method="post"> <table class="parametry"> <tbody><tr> <th>Typ pneu:</th> <td><div class="myselect"><?php /*echo $filtrvyrobce;*/ ?></div></td> </tr><tr> <th>Šířka:</th> <td><div class="myselect"><select id="sirka" name="sirka" onchange="this.form.submit()"> <option value="%">- vyberte šířku pneu -</option><option value="145">145</option><option value="155">155</option><option value="165">165</option><option value="175">175</option><option value="185">185</option><option value="195">195</option><option value="205">205</option><option value="215">215</option><option value="225">225</option><option value="235">235</option><option value="255">255</option><option value="285">285</option><option value="5,00">5,00</option><option value="6,50">6,50</option><option value="7,50">7,50</option> </select></div></td> </tr> </tbody></table> </form> ale když na v tom souboru prehledzbozibazar.php dám echo $_POST['sirka'], tak nic nevypíše, není ani nastavený (stránka: bla.cz/#prehledzbozibazar/Bazar/true) |
||
_es Profil |
Spilky:
„stránka: bla.cz/#prehledzbozibazar/Bazar/true“ Znova si prečítaj [#6]. Z hľadiska odoslania formulára je to stránka bla.cz .
|
||
Spilky Profil * |
#11 · Zasláno: 18. 6. 2013, 17:26:25
Chápu a nějaká rada jak to udělat bez změny url? Je to již naprogramovaný a rozsáhlý systém, který jsem bohužel nedělal já, ale musím tam dodělat jen tyto filtry a podobné věci.
|
||
_es Profil |
#12 · Zasláno: 18. 6. 2013, 17:32:15
Spilky:
Nákupný systém by mal byť funkčný aj bez JS, ak nie je, tak je zle navrhnutý. „jak to udělat bez změny url?“ Pomocou AJAXu. Načítaš dáta a spracuješ ich do aktuálnej stránky - bez príkazu location.reload() či iného zbytočného refreshu stránky.
|
||
Časová prodleva: 11 let
|
0