Jak tlačítko Submit obalit dalším HTML?
- Lawondyss
- Člen | 106
Potřeboval bych odesílací tlačítka obalit tagem LABEL a současně před
každé vykreslit obrázek.
Žádoucí stav:
<label>
<img src="adresar/s/obrazky/save.png" alt="" />
<input type="submit" name="save" value="Uložit" />
</label>
<label>
<img src="adresar/s/obrazky/back.png" alt="" />
<input type="submit" name="back" value="Zpět" />
</label>
Zkoušel jsem to úpravou renderovací třídy, ale dosáhl jsem pouze toho, že do LABELu jsou obalena všechna tlačítka a obrázek pouze před prvním tlačítkem.
Napadá někoho nějaké řešení?
- Petr Mašát
- Člen | 101
Ahoj,
mohl by jsi to udělat tak že si napíšeš vlastní renderer – viz: http://zdrojak.root.cz/…rmulare-iii/ , ale z webařského
hlediska je špatně tam dávat tag img
. Použij v CSS
něco jako:
input[type="submit"] {
padding-left: 20px;
background: transparent url('cesta-k-obecnzmu-obrazku') left center no-repeat
}
input[type="submit"].back {background-image: url('...');}
input[type="submit"].save {background-image: url('...');}
A pak tomu submitu přidávej class pomocí https://forum.nette.org/…-k-formulari
Jediný problém je že ti to nebude fungovat v IE6, ale myslím že to není věc která by ohrozila funkčnost stránek → ignoruj to :-)
- Petr Mašát
- Člen | 101
Jestli myslíš pojmem přetékají, že jsou mimo tlačítko, tak ano ale nejde na ně ani kliknout → zbytečně budeš mást návštěvníky webu, jenž třeba nekliknou přímo na tlačítko, ale na obrázek vedle něho a nic se jim neodešle. A nebo to chápu zcela špatně?
- Petr Mašát
- Člen | 101
Toho odeslání pomocí labelu jsem si zprvu neuvědomil, ale stejnak do tagu
img patří jen sémantický významné obrázky, což nevím zda se u zpětné
šipečky dá obhájit. Dále co když budeš někdy v budoucnu ten obrázek
odstaranit? když to budeš mít v css tak je to na cca pět minut, ale když
to budeš mít porůznu v projektu na X místech tak ti to chvíli potrvá.
Připadá prostě zvláštní řešit něco pomocí html kontrukce co se má
řešit pomocí css. Ale jestli se chceš vydat touto cestou tak řešení je ve
vlastní rendereru. Můžeš pls. poslat jak jsi napsal ten renderer?