Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailemVyřešeno html tag "image"

Zdravim

Prosim o pomoc so sice strasne primitivnym problemom ale predsa. Ako to,ze v Mozile mi input type="image" nefunguje ale v google chrome ano?

kod mam asi takyto:

...
function pre_request() 
{
  if (isset($_POST['delete'])) 
    header("Location: index.php?page=kontakt");
}
...
...
<form action='index.php?page=kontrola_textu' method='post'>
    <input type='image' name='delete' value='1' src='images/kos.bmp' alt='Submit' title='zmazať'></td>
</form>
...

A napriklad ak dam type="submit" tak to ide. Uz mam pocit ze blbne mozila a nie ja :-D
Dakujem.

Jsou zobrazeny jen nové odpovědi. Zobrazit všechny
Předmět Autor Datum
Kebyže si skúsiš vypísať všetko, čo ti prišlo v $_POST, tak ťa to udrie do očí. Blbne samozrejme Chr…
los 28.05.2011 19:51
los
nechal jsem si vypsat vše co mi přišlo v $_POST, a krom pozice kliknutí mi to v IE ani v Opeře žádné…
leee 28.05.2011 20:54
leee
a krom pozice kliknutí mi to v IE ani v Opeře žádné další údaje nevypsalo Tá pozícia je presne to,…
los 28.05.2011 22:32
los
ok,tak mi prosim ta napis,ako by som to mal prerobit,ked mam zoznamy (texty,obrazky,uzivatelia..)a p…
matasko24 30.05.2011 15:40
matasko24
To, že na ktorý input type=image používateľ klikol, zistíš podľa atribútu name. Takže namiesto nesp…
los 30.05.2011 15:57
los
Spravil som to tak ze ta hodnota je v name...ako si to ty napisal.Diky A to povodne znenie ako <inpu… nový
matasko24 30.05.2011 16:25
matasko24
Element input type=image s atribútom value nikdy ani neexistoval - existovali len nesprávne implemen… poslední
los 30.05.2011 17:01
los

nechal jsem si vypsat vše co mi přišlo v $_POST, a krom pozice kliknutí mi to v IE ani v Opeře žádné další údaje nevypsalo. Nevím čím to, ale mě to v Chrome fungovalo (vypsalo hodnoty ve value), ač to podle standartu fungovat nemá podle Vás.

a krom pozice kliknutí mi to v IE ani v Opeře žádné další údaje nevypsalo

Tá pozícia je presne to, čo ti malo prísť - nič ďalšie sa podľa štandardu posielať nemá. To, že Chrome posiela ešte niečo ďalšie navyše, nie je chyba ani Opery, ani IE, ani Firefoxu, ani Safari a ani ďalších prehliadačov.

ok,tak mi prosim ta napis,ako by som to mal prerobit,ked mam zoznamy (texty,obrazky,uzivatelia..)a pomocou obrazka "kos" v kazdom riadku som ten dany riadok vymazal.Ale ked mi po kliknuti nan odosle len poziciu kde som klikol a nic ine,tak to vlastne neviem,na ktory obrazok "kosa" som klikol,teda nerozonam jednotlive riadky. Neda sa napr. na input button alebo submit natiahnut obrazok? Ale tak,aby ho cely prekrival. Diky

To, že na ktorý input type=image používateľ klikol, zistíš podľa atribútu name.

Takže namiesto nesprávneho:

<input type="image" name="delete" value="1" ...>
<input type="image" name="delete" value="2" ...>

Budeš mať napríklad niečo takéto:

<input type="image" name="delete-1" ...>
<input type="image" name="delete-2" ...>

Ďalšie rozumné možnosti sú:
- použiť odkaz (budeš musieť zabezpečiť pred CSRF),
- použiť input type=submit (nebude tam obrázok).

Existujú aj menej rozumné možnosti, z nich vyberám napr.:
- použiť button (a tým nemyslím input type=button),
- použiť kombináciu img, label, input type=submit a CSS,
- ošetriť pomocou JavaScriptu.

Spravil som to tak ze ta hodnota je v name...ako si to ty napisal.Diky
A to povodne znenie ako <input type="image" name="delete" value="1" ...> uz existovat nebude?Nechapem naco su niekomu pri takomto jednoduchom inpute hodnoty x a y v bode,kde klikol.Mali to nechat,ako to bolo,pripadne to obohatiti o tuto moznost.

Element input type=image s atribútom value nikdy ani neexistoval - existovali len nesprávne implementácie, z ktorých to časom zrejme tiež zmizne (tak ako vo Firefoxe).

To, že sa posielajú súradnice kliknutia, má skôr historický základ, takže nejakú skrytú logiku za tým nehľadaj. Prakticky sa input type=image používa presne tak, ako ho chceš použiť ty. Najsprávnejšie riešenie je ale použiť obyčajný input type=submit.

BTW: Keby všetky prehliadače implementovali od začiatku správne element button, tak o nejaký input type=image by si ani nezakopol.

Zpět do poradny Odpovědět na původní otázku Nahoru