mr.doom
28.01.2012, 15:09:23
Witam,
Próbuję przesłać sobie wartości z formularza typu radio do skryptu php i wyświetlić wynik tego, dynamicznie, w divie na stronie z której wysłałem POST przez jquery.Jednak w wyniku dostaję pustą wartość tablicy post ( skrypt myphpscript.php zwraca to w wyznaczonym divie ). Co robię źle, jak poprawnie przesłać wartość. Oto kod skryptu :
<script type="text/javascript">
$(document).ready(function(){
$("#searchform").submit(function(){
$.post('myphpscript.php',{value: $("[name='search']:checked").val()},function(data){
$("#db_window").html(data);
});
return false;
});
});
</script>
Oto formularz :
<form id="searchform" name="search" >
<input type="radio" name="search" value="1" /> <br>
<input type="radio" name="search" value="2" / > <br>
<input type="radio" name="search" value="3"/> <br>
<input type="radio" name="search" value="4" checked/> <br>
<input type="submit" name="search" >
</form>
Lombi
28.01.2012, 15:15:11
Zacznij od dopisania w form method="post"
mr.doom
28.01.2012, 16:00:36
To nic nie zmienia, ok, wstawiłem to, bo rzeczywiście sensownie żeby ta metoda tam była. Powinno działać i bez tego. Jeszcze jakieś sugestie ?
$.post('myphpscript.php', { 'value': $("input[name='search']:checked").val() }, function (data) { /* ... */ });
mr.doom
28.01.2012, 16:15:05
Bez zmian ;/;/
Gniję nad tym już 4 godzinę. ;/
Necsord
28.01.2012, 16:18:38
Jak / pod czym sprawdzasz czy to działa ? Firebug wypluwa jakiś błąd ? Skopiowałem kod z pierwszego post'a i działa.
mr.doom
28.01.2012, 16:21:04
OMG, to co napisałem w pierwszym poście ci działa ? firebug, nie wywala żadnych błędów, tyle, że gdy wyświetlam sobie to w #db_window divie wywala pustą tablicę post -.-
Dodam jeszcze, że ów skrypt jQuery odpalam w dokumencie html w którego div #db_window chcę uzyskać wynik skryptu po przesłaniu do niego $.post 'em wartości z tego formularza.
Necsord
28.01.2012, 16:32:46
Sprawdź w firebug'u czy wysyłany jest value i co zwraca myphpscript.php. Nie polegaj na swoim skrypcie tylko na tym co wypluwa firebug.
mr.doom
28.01.2012, 16:55:56
Ok, Firebug mówi że post zawiera NULL, wiesz dlaczego tak się dzieje ?
Może problem leży w formularzu
Necsord
28.01.2012, 16:59:48
POST nie może zawierać null'a, co najwyżej zmienna value w POST jest null.
http://jsfiddle.net/chU88/Sprawdź, porównaj. Może coś zmieniłeś.
mr.doom
28.01.2012, 17:04:38
Nie wiem co jest grane, gdy robię POST w normalny sposób action="myphpscript.php" wszystko jest w porządku. Zmienna przechodzi i nie jest NULL'em. Tutaj wypluwa mi w #db_window nulla ;/ U Ciebie to działa ?
Necsord
28.01.2012, 17:07:50
Jeżeli zmienna data jest pusta to błąd leży po stronie skryptu php. Mam wrażenie ze ty oczekujesz w data to co wysyłasz, a tam dostajesz to co wraca czyli to co wypluwa myphpscript.php. Zrób sobie test, zakomentuj wszystko w myphpscript.php i zrob samo.
<?php
?>
mr.doom
28.01.2012, 17:12:26
W odpowiedzi dostaję " OK "
Necsord
28.01.2012, 17:15:05
Czyli szukaj błędu w myphpscript.php bo nic nie zwraca...
mr.doom
28.01.2012, 17:19:59
Nie no zwraca, gdybym dał inną nazwę w $.post zamiast value, a w myphpscript oczekiwał nadal value, to wywali błąd, skrypt dostaje post ale o wartości NULL gdzie w formularzu są podane value dla każdego zaznaczonego radiobutton'a
Necsord
28.01.2012, 17:24:08
NULL jest bo skrypt nic nie ZWRACA. Zwróć uwage na różnicę między ZWRACA a OTRZYMUJE. Zwracanie to jest np. echo, exit.
mr.doom
28.01.2012, 17:26:30
No to jakieś sugestie, jak odebrać tą zmienną w skrypcie i po prostu ją wyświetlić do tego diva?
Necsord
28.01.2012, 17:29:39
<?php
?>
Cytat(mr.doom @ 28.01.2012, 16:15:05 )

Bez zmian ;/;/
Gniję nad tym już 4 godzinę. ;/
Chyba nie wprowadziłeś proponowanych zmian. Nie działa Ci, bo nie słuchasz uwag.
http://jsfiddle.net/S3gQ2/
mr.doom
28.01.2012, 17:32:43
Super, próbowałem, tak samo jak próbowałem post przypisać do zmiennej i ją wyświetlić, zawsze w wyniku dostaję NULL zawsze.
Pokaż aktualną wersję kodu, z uwzględnieniem proponowanych tutaj zmian, która nie działa.
mr.doom
28.01.2012, 17:39:26
Proszę :
Skrypt php którym chcę wyświetlić zmienną :
<?php
echo $_POST['value']
?>
skrypt js/jquery
<script type="text/javascript">
$(document).ready(function(){
$("#searchform").submit(function(){
$.post('myphpscript.php',{value: $("[name='search']:checked").val()},function(data){
$("#db_window").html(data);
});
return false;
});
});
</script>
formularz HTML
<form id="searchform" action="post" name="searchform" >
<input type="radio" name="search" value="1" /> Autor<br>
<input type="radio" name="search" value="2" / > Tytuł<br>
<input type="radio" name="search" value="3"/> Haslo<br>
<input type="radio" name="search" value='4' /> ISBN<br>
<input type="submit" name="search" id="searchform" >
</form>
Po uwzględnieniu poprawek z postu bodajże drugiego działa tak samo. Wybaczcie że wklejam tutaj i w takiej formie
Po pierwsze - używaj bbcode w postach z kodem.
Po drugie - nie widzę w tym kodzie zmian które proponowałem w
http://forum.php.pl/index.php?s=&showt...st&p=935080
mr.doom
28.01.2012, 19:16:56
No tak ale zupełnie pominąłeś rolę skryptu php do którego przekazywany jest POST, mam rozumieć że uwzględnienie dodania zmiennej v którą dorzuciłeś i wrzucenie tego w miejsce
{value: $("[name='search']:checked").val()} ma rozwiązać problem POST['value'] o wartości null ?
Ktoś wie dlaczego to nie działa ?
wookieb
28.01.2012, 20:47:04
Prosze wstawić bbcode we wszystkich swoich postach albo zamknę temat.
Następnym razem założ tylko 1 (słownie jeden) temat.
Cytat(mr.doom @ 28.01.2012, 19:16:56 )

No tak ale zupełnie pominąłeś rolę skryptu php do którego przekazywany jest POST, mam rozumieć że uwzględnienie dodania zmiennej v którą dorzuciłeś i wrzucenie tego w miejsce
{value: $("[name='search']:checked").val()} ma rozwiązać problem POST['value'] o wartości null ?
Gdzie w
http://forum.php.pl/index.php?showtopic=19...mp;#entry935080 jest jakaś zmienna "v"?
Cytat( @ 28.01.2012, 19:16:56 )
Ktoś wie dlaczego to nie działa ?
Bo nie myślisz i nie słuchasz uwag innych.
I tyle ode mnie w tym temacie. Nie będę sie do aż takiego poziomu zniżał...
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę
kliknij tutaj.