Autor Zpráva
miloš
Profil *
Ahoj,Mám formulář ve kterém je formulářové pole select a textarea.Po odeslání se mi zpracuje pomocí PHP a v případě že neprojde se mi vrátí zpět formulář.Chtěl sem se zeptat,jestli jde udělat,aby se mi po vrácení select nastavil na odesílanou hodnotu,a ne na první položku.Nechci kód,jenom poradit jak na to.Teda jestli to jde.Dík.m
Str4wberry
Profil
No, nějak takto:
<select name="nazev">
  <option value="hodnota"<?=("hodnota" == $_POST['nazev'])? ' selected': ""?>>Hodnota</option>
</select>
Při více položkách to bude celkem otrava, proto bych to zkusil nacpat do cyklu. Případně, pokud máš těch složitějších formulářů víc, použít třeba Nette\Forms.
miloš
Profil *
Str4wberry:
Děkuji za radu.Zkusím prostudovat ten Nette,ale pokud sem to narychlo zkouknul,tak to asi nebude fungovat při vypnutém Javascriptu,nemýlím se?
Str4wberry
Profil
Příklad, který jsem uvedl, nikterak nezávisí na JavaScriptu. Prostě jen u odeslané položky připíše „selected“, což se v prohlížeči projeví tím, že bude předvolena.
larryx
Profil
mylis sa... javascript stymto kodom co poslal Str4wberry nema nic spolocne... uz len <? by ti malo napovedat ze sa jedna o PHP
AM_
Profil
Je tu ale spíš jiná podmínka, a to, že formulář je ve stejném skriptu (obecněji na stejné URL) jako skript pro jeho zpracování. Pokud se v případě selhání zpět na formulář vracíš třeba pomocí header("location:"), tak to fungovat nebude - musíš nějak přenést tu hodnotu "nazev".
miloš
Profil *
To s tím využití php je mi jasné,že to nezávisí na javascriptu,myslel jsem ten Nette...
Str4wberry
Profil
myslel jsem ten Nette...

Aha, tak to funguje také bez JS — ten je tam jen jako „něco navíc“.
miloš
Profil *
Tak to mi vyhovuje,A děkuji všem co odpověděli za radu.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

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