Autor Zpráva
tomiss
Profil
Zdravím, mám udělaný automaticky odesílatelný formulář pomocí obyčejného javascriptu.
document.forms[0].submit();

A ve formuláři mám hidden input, pokud stlačím obyčejné tlačítko na odeslání, pokud stlačím normální tlačítko na odeslání tak se hodnota uloží do: $_POST["neco"] , ale v případě, že jej po uplynutí času odešle javascript, tak se tam hodnota neuloží. V tom samém formu jsou i inputy radio a tyto už se uloží normálně.
Taps
Profil
tomiss:
ukaž kod
tomiss
Profil
echo "<form id='aaa' name='aaa' method='post' action='aaa.php'>";
echo "Otazka<br />";
echo "<input type='radio' name='radio1' value='a'> odpoved A<br />";
echo "<input type='radio' name='radio1' value='b'> odpoved B<br />";
echo "<input type='hidden' name='neco' value='".$promenna."' />";
echo "<div class='text-center'><input type='submit' name='odeslat' value='Odeslat' /></div>";

A JS je udělán tak, že se po odpočítávání splní
document.forms[0].submit();

Poté to vypisuji
echo "".$_POST["secret"]."";
A po odeslání pomocí JS se tam nic nezapíše, ale do radio1 ano
Kcko
Profil
tomiss:
a $_POST["secret"] proč když se hidden input jmenuje neco?
Kikosss
Profil
Jej chybicka. Ja to tady jen prepisoval a neupravil to tu u obou. Nicméně pokud je to správně, tak to tam stejně neuloží... Ještě jsem zapoměl zmínit, že hodnota se neuloží ani do $_POST["odeslat"]. Bere to jakoby se odeslaly jen ty radio inputy... Ale v pripade, ze to odeslete normalne tlacitkem, tak se tam tyto hodnoty ulozi.
Kcko
Profil
Připrav funkční ukázku třeba na http://ideone.com
Chamurappi
Profil
Reaguji na Kikossse:
Ještě jsem zapoměl zmínit, že hodnota se neuloží ani do $_POST["odeslat"].
Při odesílání formuláře se posílá dvojice jméno=hodnota jen pro tlačítko, které bylo stisknuté (aby různá tlačítka mohla mít různé funkce), a jelikož metoda submit() nestiskává žádné tlačítko, je logické, že se odeslat=Odeslat nepošle. Takže potíž je pouze v přenosu toho hidden políčka.

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

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

0