Autor | Zpráva | ||
---|---|---|---|
Enngage Profil |
#1 · Zasláno: 5. 7. 2011, 00:06:58
Zdravim,
mam formular, ktery zpracovava nekolik textboxu a nekolik uploadu souboru - <input type="file">, muj problem je v tom, ze bych chtel mit vedle kazdeho toho inputu na file tlacitko reset, ktere vymaze obsah tohoto file. Zkousel jsem klasicky reset, ale vzdy mazal kompletne cely formular vsetne vsech textboxu a to nechci. Jediny zpusob kdy mi to fungovalo byl ten, kdy jsem pro to stvoril zvlast formular, ale to jsem mel zase problem s odesilanim vsech dat naraz... Jakym zpusobem se tohle da vyresit? |
||
jenikkozak Profil |
#2 · Zasláno: 5. 7. 2011, 07:59:50
Enngage:
„Jakym zpusobem se tohle da vyresit?“ <span onclick="getElementById('id_políčka_formuláře').value=''" style="cursor:pointer">Odmáznout hodnotu</span> Potíž je ovšem v tom, že ne všechny prohlížeče dovolují k obsahu políčka s typem file přistupovat, takže výše uvedený kód nebude spolehlivě fungovat. (Např. v IE.) Možná někdo přijde s lepším řešením... |
||
Enngage Profil |
#3 · Zasláno: 5. 7. 2011, 09:43:14
jenikkozak:
Diky, vyzkousel jsem to, ale bohuzel mam pro tebe spatnou zpravu... Z nejnovejsi Opery, Firefoxu a trosku starsiho IE tohle funguje prave jenom v tom IE:-) Musi to jit jeste nejak jinak:) |
||
johnl Profil |
#4 · Zasláno: 5. 7. 2011, 10:12:02
Enngage:
Nebude chyba na tvoj straně? Když vyzkouším jen : <input type="text" id="input"><br> <span onclick="getElementById('input').value=''" style="cursor:pointer">Odmáznout hodnotu</span> |
||
Str4wberry Profil |
#5 · Zasláno: 5. 7. 2011, 10:19:43
Důležité je si uvědomit, johnli, že Enngage potřebuje pracovat s
<input type=file> , který kvůli bezpečnosti má jistá omezení.
|
||
Enngage Profil |
#6 · Zasláno: 5. 7. 2011, 10:24:14
Ano, máš pravdu, funguje, ale je tu dalsi ale:
tohle funguje: <input type="text" id="input"><br> <span onclick="getElementById('input').value=''" style="cursor:pointer">Odmáznout hodnotu</span> tohle uz ne <input type="text" name="input"><br> <span onclick="getElementById('input').value=''" style="cursor:pointer">Odmáznout hodnotu</span> a s file mi to nejde vubec <input type="file" id="input" style="width: 40%" style="cursor:hand;"/> <span onclick="getElementById('input').value=''" style="cursor:pointer">Odmáznout hodnotu</span> |
||
shaggy Profil |
#7 · Zasláno: 5. 7. 2011, 10:29:18
Enngage:
„tohle uz ne“ A vieš prečo? Schválne, skús si prečítať, čo vlastne píšeš do kódu: getElementById('input') vs id="input"> vs name="input"> |
||
Enngage Profil |
#8 · Zasláno: 5. 7. 2011, 10:31:45
Tohle jsem si neuvedomil. Diky... A ty omezeni u toho file musi jit nejak prekonat, ne? Protoze jakmile uzivatel neco vybere v tom file, tak to nejde uz smazat, bud muze vybrat jiny soubor nebo smazat cely formular, coz mi neprijde jako dobre reseni... V krajnim pripade bych pouzil i nejaky jiny typ "uploadovaciho formulare".
|
||
Str4wberry Profil |
#9 · Zasláno: 5. 7. 2011, 10:44:07 · Upravil/a: Str4wberry
Co přepsat ten
<input type=file> tím samým kódem?
Něco jako: <span id=obal><input type=file></span> <button onclick='document.getElementById("obal").innerHTML = document.getElementById("obal").innerHTML; return false'>Odstranit</button> Viz živá ukázka. |
||
Enngage Profil |
#10 · Zasláno: 5. 7. 2011, 16:58:36
Děkuji za pomoc! Ten s tim buttonem fungoval, akorat button odesila formular. Stacilo to ale prepsat na
<span onclick='document.getElementById("obal1").innerHTML = document.getElementById("obal1").innerHTML'>Odstranit</span> |
||
Str4wberry Profil |
#11 · Zasláno: 5. 7. 2011, 17:27:22
Ano, nebo stačí dopsat
return false . Dále je vhodné takováto tlačítka vypisovat JavaScriptem, ať bez jeho podpory není na stránce zbytečně nefunkční tlačítko, to jen tak na okraj.
|
||
Časová prodleva: 13 let
|
0