Autor | Zpráva | ||
---|---|---|---|
martin1312 Profil |
#1 · Zasláno: 9. 2. 2012, 15:33:25
Zdravim,
robim si upload script cez PHP, formular ale obsahuje aj normalne inputy pre zadavanie textu, napriklad: <input type="text" name="polozka" /> <input type="file" name="subor" /> Prva polozka je povinná, a teda ak ju uzivatel nevyplní a odosle formular, zobrazi sa mu upozornenie o nevyplnenom povinnom údaji. Vzhladom na uzivatelsku privetivost pri opätovnom načítaní stránky sa obnovia vyplnené polia hodnotami, ktoré už uzivatel zadal (tych poli je v skutocnosti viac). Teda potom vyzera formular nejak takto : <input name="polozka" type="text" value="<?php echo $_POST['polozka'] ?>"> <input type="file" name="subor" /> Problem nastane, ked uzivatel vyberie súbor a nevyplní povinnu položku. Po kontrole mu je vratena stranka a musi vybrat súbor ešte raz. Moja otazka teda je: Dá sa nejakým spôsobom zapamätat hodnota value pri vyberaní suboru? Ďakujem. |
||
Kajman Profil |
#2 · Zasláno: 9. 2. 2012, 15:39:53
Ne, ale kontrolu vyplnění vstupu polozka můžete udělat navíc javascriptem, který případně přeruší poslání formuláře.
|
||
Bubák Profil |
#3 · Zasláno: 9. 2. 2012, 15:40:13
martin1312:
„Po kontrole mu je vratena stranka“ A to je ta chyba, kontroluj formulář JavaScriptem před odesláním. |
||
martin1312 Profil |
#4 · Zasláno: 9. 2. 2012, 15:45:03
OK takze to prerobim na kontrolu cez JS.
Diki. |
||
Chamurappi Profil |
Reaguji na martina1312:
Nebo přidej <iframe> a namiř odeslání do něj. (Kdybys chtěl i kontrolovat obsah souboru, byla by to jediná možnost.)
|
||
martin1312 Profil |
#6 · Zasláno: 9. 2. 2012, 15:58:48
Chamurappi:
takto http://dl.dropbox.com/u/3370251/DJPW/upload-bez-refreshe/index.html ? Diki za radu, vyskúšam to. |
||
Keeehi Profil |
#7 · Zasláno: 9. 2. 2012, 16:12:09
martin1312:
„OK takze to prerobim na kontrolu cez JS.“ Ne předělat ale přidat. Kontrolu na straně PHP tam nechej. Ne vždy je javascript funkční. |
||
martin1312 Profil |
#8 · Zasláno: 9. 2. 2012, 17:40:57
Keeehi:
Tak som to aj myslel :) |
||
Časová prodleva: 12 let
|
0