Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [JavaScript]Jak przekazać zmienną z java-script do php?
Forum PHP.pl > Forum > Przedszkole
Malinaa
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
java!=javascript exclamation.gif!
a odp to:
document.getElementById
Malinaa
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
Wyślij hiddena w formularzu z value ustawionym na w_nazwy.
Malinaa
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
Do inputa button musisz zbindować onClick z funkcją document.formularz.submit(), albo coś podobnego winksmiley.jpg
Malinaa
Kod javascript nad którym pracuję ma jakieś 100 linii i tak się zakopałem, że gdyby nie karateKid smile.gif 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
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
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
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
Możesz. Dodajesz tę funkcję do onsubmit, która robi to samo dla action formularza.
karateKid
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 winksmiley.jpg
Malinaa
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
Wrzuć tę funkcję do onsubmit - http://www.htmlcodetutorial.com/forms/_FORM_onSubmit.html
Malinaa
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
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. winksmiley.jpg Już kilka razy o tym pisaliśmy. Masz przecież metodę document.createElement.
Malinaa
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.
Invision Power Board © 2001-2025 Invision Power Services, Inc.