Autor Zpráva
Pavel Kr.
Profil *
Ahoj,

dá se nějakým způsobem navázat funkce PHP na javascriptovou funkci onchange().

Příklad:
Mám select, na který je navázána funkce onchange="this.form.submit()", tj. při změně hodnoty select se formulář odešle. A právě na tohle odeslání bych chtěl navázat php funkci unset na odnastavení proměnné. Napadá vás něco? Díky.
Taps
Profil
A tobe jde o to aby jsi mel v selectu nastavenou hodnotu ktera byla odeslana?
Pavel Kr.
Profil *
Taps:
Ne ne tohle všechno si obhospodařím, jediné o co mi jde je to abych mohl něco provést (odnastavit proměnnou) při odeslání toho selectu (odeslání se děje na základě události onchange). To je vše.
Keeehi
Profil
Pavel Kr.:
jediné o co mi jde je to abych mohl něco provést (odnastavit proměnnou)
A nestačí ten index v poli v PHP prostě nepoužívat? No jestli ne, tak ten unset můžeš klidně zavolat na začátku toho scriptu, co ten formulář zpracovává. Pokud to nechceš ani odesílat, můžeš ten formulářový prvek javascriptem odstranit ještě před samotným odesláním. Nebo lépe, vůbec ho do HTML nedávat.
Pavel Kr.
Profil *
Keeehi:
Je to složitější. V tom formuláři je vícero selectů, a já potřebuji vyvolat tu funkci unset jen při změně jednoho selectu a na základě nějakých podmínek. V ostatních případech se unset nevyvolá - respektive nemůže se vyvolat při každém odeslání formuláře.

No každopádně výsledek je takový, že jsem to "očůral" neviditelným polem hidden. Nejspíš to není nejšťastnější řešení, ale funguje to přesně jak potřebuji. Díky za snahu.
Keeehi
Profil
Pavel Kr.:
Složité to vůbec není. Když ale neukážeš kód, tak se ti nedá pomoci lépe než obecnými radami.
_es
Profil
Pavel Kr.:
Mám select, na který je navázána funkce onchange="this.form.submit()", tj. při změně hodnoty select se formulář odešle.

No a prečo jednoducho PHP skript, na ktorý sa odkazuje formulár, jednoducho neprečíta hodnotu z toho selectu? Neviem, aký výsledok si predstavuješ od funkcie unset, no ten trvá len do skončenia behu PHP skriptu.

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: