Malinaa
16.04.2009, 13:01:23
Witam,
Mam coś takiego (fragment):
location.href="testy.php?akcja=sprawdz&nazwa="+w_nazwy;
Jeśli w formularzu zastosuję <input type="button"> zmienna zostanie przekazana z java do php, ale dla <input type="submit"> już nie.
Jak przekazać z formularza mając <input type="submit"> zmienną w_nazwy (java) do php?
Spawnm
16.04.2009, 13:08:06
java!=javascript

!
a odp to:
document.getElementById
Malinaa
16.04.2009, 13:21:30
Jasne, że java != java-script
Z document.getElementById próbowałem, ale gdzieś w szczegółach nie działa?
Można prosić o szczegóły?
karateKid
16.04.2009, 13:51:00
Wyślij hiddena w formularzu z value ustawionym na w_nazwy.
Malinaa
16.04.2009, 14:20:11
OK,
problem jest jednak inny wygląda na to, że musi zostać <input type="button">
Czy może ktoś mi powiedzieć jak przekazać zmienne formularza dla <input type="button">
tak jak robi to <input type="submit"> dla pół formularza: text, hidden, textarea?
karateKid
16.04.2009, 14:39:12
Do inputa button musisz zbindować onClick z funkcją document.formularz.submit(), albo coś podobnego
Malinaa
16.04.2009, 15:39:13
Kod javascript nad którym pracuję ma jakieś 100 linii i tak się zakopałem, że gdyby nie karateKid

to bym wymiękł. Doszedłem w czym rzecz i gdzie ma być formularz.submit();
Gdyby ktoś mógł powiedzieć jeszcze dokładniej jak przekazać tę zmienną z java-script do php?
Mam coś takiego, ale ze zmienna test nie działa formularz.submit();
if (confirm("Czy kontynuować proces?")) {
test = document.getElementById('nazwa').value;
formularz.submit();
}
Thank's
erix
16.04.2009, 16:08:21
Ale po co tak przekazywać...?
Trochę nie rozumiem Twojego toku myślenia... Daj tę funkcję w onsubmit formularza i pozbędziesz się połowy kłopotów z głowy.
A zmienną możesz przekazać dopisując parametr jako GET w action formularza oraz tworząc dynamicznie ukryty element.
1010
16.04.2009, 16:11:34
Bo tak normalnie to jako tako nie idzie tego przekazać, tylko jakies POST, GET.
JavaScript działa po stronie przeglądarki, PHP po stronie serwera.
Malinaa
16.04.2009, 16:29:13
Mój tok myślenia jest tutaj wynikiem słabej znajomości javascript.
Rzecz w tym, że kiedy zamiast
formularz.submin();
miałem
location.href="testy.php?akcja=sprawdz&nazwa="+w_nazwy;
przekazwywałem zmienną w_nazwy bez problemu, a teraz z formularz.submint(); nie mogę jej przekazać.
I rowiązania tego problemu poszukuję.
erix
16.04.2009, 17:33:02
Możesz. Dodajesz tę funkcję do onsubmit, która robi to samo dla action formularza.
karateKid
16.04.2009, 18:46:58
if (confirm("Czy kontynuować proces?")) {
test = document.getElementById('nazwa').value;
document.getElementById('hidden_input').value = test;
formularz.submit();
}
Albo jakoś tak, używam jQuery i już nie pamiętam czystego js
Malinaa
16.04.2009, 18:54:51
OK,
Mam już w onsubmit="w_nazwy=false;"
Zmienna "w_nazwy", którą potrzebuję wyświetlić w php pochodzi z wcześniejszej funkcji.
Kolejna jest funkcja, która wywołuje formularz.submit(); nazywa się function sprawdz(dane)
Jak teraz całość zrobić i wyświetlić zmienną po przetworzeniu formularza na stronie?
Ja niestety nie wiem, proszę o pomoc.
erix
16.04.2009, 21:19:44
Malinaa
17.04.2009, 17:41:02
Próbowałem wrzucić tę funkcję do onsubmit kiedy pierwszy raz o tym napisałeś, ale dla mojego skryptu nie przyniosło to żadnego efektu.
Przykład, który podałeś pod linkiem jest różny od tego co potrzebuję zrobić.
Nie mam żadnego pola <input> i inne, w którym można wpisać jakieś dane, wartość zmiennej nazwa jest określana w pierwszej funkcji, a następnie z drugiej funkcji była przekazywana dzięki location.href=test.php?n=nazwa do pliku po przetworzeniu formularza, ale location o którym piszę znajdowało sie wewnątrz skryptu javascript, nie w formularzu.
Dziękuje erix za pomoc, ale bez location, tylko z formularz.submint(); ja nie wiem jak to zrobić, a z onsubmit o którym piszesz też nic nie wychodzi?
erix
17.04.2009, 17:46:42
Cytat
Próbowałem wrzucić tę funkcję do onsubmit kiedy pierwszy raz o tym napisałeś, ale dla mojego skryptu nie przyniosło to żadnego efektu.
Pokaż, jak to robiłeś.
Cytat
Nie mam żadnego pola <input> i inne, w którym można wpisać jakieś dane
To sobie je utwórz przez JS.

Już kilka razy o tym pisaliśmy. Masz przecież metodę
document.createElement.
Malinaa
17.04.2009, 19:02:07
Dziękuje raz jeszcze erix.
Z javascript było problemowo, znalazłem więc inne rozwiązanie i jest bardziej funkcjonalne.
Pozdrawiam
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.