Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [JavaScript]Jak przekazać zmienną z java-script do php?
Malinaa
post
Post #1





Grupa: Zarejestrowani
Postów: 573
Pomógł: 6
Dołączył: 21.07.2008

Ostrzeżenie: (0%)
-----


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?
Go to the top of the page
+Quote Post
Spawnm
post
Post #2





Grupa: Moderatorzy
Postów: 4 069
Pomógł: 497
Dołączył: 11.05.2007
Skąd: Warszawa




java!=javascript (IMG:http://forum.php.pl/style_emoticons/default/exclamation.gif) !
a odp to:
document.getElementById
Go to the top of the page
+Quote Post
Malinaa
post
Post #3





Grupa: Zarejestrowani
Postów: 573
Pomógł: 6
Dołączył: 21.07.2008

Ostrzeżenie: (0%)
-----


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?

Ten post edytował Malinaa 16.04.2009, 13:23:20
Go to the top of the page
+Quote Post
karateKid
post
Post #4





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 27.03.2009
Skąd: Gdynia

Ostrzeżenie: (0%)
-----


Wyślij hiddena w formularzu z value ustawionym na w_nazwy.
Go to the top of the page
+Quote Post
Malinaa
post
Post #5





Grupa: Zarejestrowani
Postów: 573
Pomógł: 6
Dołączył: 21.07.2008

Ostrzeżenie: (0%)
-----


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?
Go to the top of the page
+Quote Post
karateKid
post
Post #6





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 27.03.2009
Skąd: Gdynia

Ostrzeżenie: (0%)
-----


Do inputa button musisz zbindować onClick z funkcją document.formularz.submit(), albo coś podobnego (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)
Go to the top of the page
+Quote Post
Malinaa
post
Post #7





Grupa: Zarejestrowani
Postów: 573
Pomógł: 6
Dołączył: 21.07.2008

Ostrzeżenie: (0%)
-----


Kod javascript nad którym pracuję ma jakieś 100 linii i tak się zakopałem, że gdyby nie karateKid (IMG:http://forum.php.pl/style_emoticons/default/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

Ten post edytował Malinaa 16.04.2009, 15:52:28
Go to the top of the page
+Quote Post
erix
post
Post #8





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




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.
Go to the top of the page
+Quote Post
1010
post
Post #9





Grupa: Zarejestrowani
Postów: 749
Pomógł: 37
Dołączył: 3.10.2006

Ostrzeżenie: (0%)
-----


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.
Go to the top of the page
+Quote Post
Malinaa
post
Post #10





Grupa: Zarejestrowani
Postów: 573
Pomógł: 6
Dołączył: 21.07.2008

Ostrzeżenie: (0%)
-----


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ę.
Go to the top of the page
+Quote Post
erix
post
Post #11





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Możesz. Dodajesz tę funkcję do onsubmit, która robi to samo dla action formularza.
Go to the top of the page
+Quote Post
karateKid
post
Post #12





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 27.03.2009
Skąd: Gdynia

Ostrzeżenie: (0%)
-----


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 (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)

Ten post edytował karateKid 16.04.2009, 18:47:26
Go to the top of the page
+Quote Post
Malinaa
post
Post #13





Grupa: Zarejestrowani
Postów: 573
Pomógł: 6
Dołączył: 21.07.2008

Ostrzeżenie: (0%)
-----


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.
Go to the top of the page
+Quote Post
erix
post
Post #14





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Wrzuć tę funkcję do onsubmit - http://www.htmlcodetutorial.com/forms/_FORM_onSubmit.html
Go to the top of the page
+Quote Post
Malinaa
post
Post #15





Grupa: Zarejestrowani
Postów: 573
Pomógł: 6
Dołączył: 21.07.2008

Ostrzeżenie: (0%)
-----


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?
Go to the top of the page
+Quote Post
erix
post
Post #16





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




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. (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) Już kilka razy o tym pisaliśmy. Masz przecież metodę document.createElement.
Go to the top of the page
+Quote Post
Malinaa
post
Post #17





Grupa: Zarejestrowani
Postów: 573
Pomógł: 6
Dołączył: 21.07.2008

Ostrzeżenie: (0%)
-----


Dziękuje raz jeszcze erix.

Z javascript było problemowo, znalazłem więc inne rozwiązanie i jest bardziej funkcjonalne.

Pozdrawiam
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 23.08.2025 - 05:06