4.7.06

Odeslání formuláře klávesou Enter

Dnes jsem narazil na zajímavou věc. Alespoň pro mne je zajímavá. Týká se odesílání formuláře po stisknutí klávesy ENTER, a to konkretně v IE.

skript:

<?
print_r($_POST);
?>
<form action="" method="post">
<input type="text" name="vstup" />
<input type="submit" name="submit" value="OK" />
</form>

Problém nastává v okamžiku, když v IE napíšete nějaký text do políčka vstup a chcete odeslat formulář ENTERem. Odešle se jen a pouze políčko vstup, hodnota prvku submit se nepředá. Pokud kliknete myší na odesílací tlačítko, tak se odešle vše.

Toto chování mi způsobilo jisté potíže, protože jsem odeslání formuláře v PHP kontroloval právě oproti hodnotě proměnné submit, která se v IE neodeslal a tudíž se neprovedla část skriptu, která se provést měla.

Ve Firefoxu se odesílají vždy obě hodnoty. Pokud někdo víte, proč se IE takto chová, napište mi vysvětlení do komentářů.

DOPLNĚNO: Řešením je přidat do formuláře jedno políčko navíc. Protože ho ale nepotřebujeme, tak bude neviditelné. Na názvu a hodnotě nezáleží.


<form action="" method="post">
<input type="text" name="vstup" />
<input type="hidden" name="kvuliHloupemuIE" value="1" />
<input type="submit" name="submit" value="OK" />
</form>

OPRAVENO: Na základě komentáře od anonymního dobráka opravuji skrip, který tedy vypadá následovně:


<form action="" method="post">
<input type="text" name="vstup" />
<input type="text" style="display:none;" name="kvuliHloupemuIE" value="1" />
<input type="submit" name="submit" value="OK" />
</form>

Počet komentářů: 7:

Anonymous Anonymní řekl...

Myslim, ze toto nefunguje. Pridani dalsiho inputu pomaha pouze v pripade, je-li to input type text. input type="text" style="display:none;" name="hidden" value=""

5/27/2007 11:53 dop.  
Anonymous [zener] řekl...

Skvely clanek, vyresil jsem rychle problem :-) Vubec jsem nechapal, proc mi to neslo na www.videotube.sk/chat. Jeste jednou diky ;-)

6/30/2007 8:58 odp.  
Anonymous Mirek Holec řekl...

Díky.

5/06/2008 7:58 odp.  
Anonymous Anonymní řekl...

Diky za radu

6/23/2009 11:44 dop.  
Blogger David řekl...

Díky chlape, tohle by mě nenapadlo ano po sto letech... :o) díky

8/20/2009 7:06 odp.  
Anonymous Anonymní řekl...

Díky, posílám malé bezvýznamné plus, které snad také potěší :o)

1/02/2010 4:59 odp.  
Anonymous Anonymní řekl...

Díky :-) Přesně to jsem teď řešila.. jedno políčko a na enter se to zachovalo jinak, než jsem čekala. Tak ještě jednou dík za článek :-)

5/04/2010 12:47 odp.  

Přidat komentář

<< Domovská stránka