Autor Zpráva
para
Profil
Zdar,

proč takto jednoduchou funkci mozilla ignoruje? IE klasicky OK :( Je to vlastně kdykoliv má mozilla kontrolovat vyplnění poli pomocí form.pole.value.

function ValidateFormLoadImage(){

if (FormLoadImage.source_file.value ==""){
alert("File error");
FormLoadImage.source_file.focus();
return false;
}
}
Polaroid
Profil
Možná je to kvůli tomu prázdnýmu řetězci, mam ten dojem, že by tomu možná nemusela rozumět!
Ale nejsem si jistej!
para
Profil
hm to nebude ono. kdyz ji tam dam nejakou hodnotu a tu pak testuji, tak to stejne ignoruje.
para
Profil
Takže je to tak, že mozzila to potrebuje ve formátu document.FormLoadImage.source_file.value kdežto IE stačí pouze FormLoadImage.source_file.value
izsak
Profil
Alebo pouzite funkciu standardnu funkciu document.getElementById('source_file') a pojde vam to v kazdom prehliadaci.
A zabera to menej miesta, kedze netreba vypisovat nazov <form>-u.
Wan-To
Profil *
Pokud je to <input type = "file">, tak je v IE chyba, protože kvůli bezpečnosti value nemá jít zjistit, ani nastavit. Jednoduše by šlo napsat <input type = "file" style = "display: none;" name = "aaa"> a document.aaa.value = "soubor s heslama". To by šlo pak hákovat!
Wan-To
Profil *
Jinak Mozilla je v JS mnohem lepší než IE. Myslím, že Mozilla je celkově nejlepší prohlížeč.
izsak
Profil
To akože si prehliadač nevie zistiť, či <input type="file" /> má vlastnosť display: none? Tak sry, ale ak toto IE nevie, tak to fakt nie je normálny prehliadač.
Ak by bol file-input skrytý, tak nech pred odoslaním dát na server prehliadač nechá potvrdiť užívateľovi cestu. A ak by sa to nastavovalo cez JS, tak kľudne by sa to dalo nastaviť aj po kliknutí na Submit a súbor by bol aj tak odoslatý.
Yuhů
Profil
jestli nějaký prvek má nebo nemá vlastnost display, Explorer skutečně nezjistí, protože se dívá na konkrétní zapsanou definici stylu, nikoliv do vypočítané nebo výchozí hodnoty. Na to je nestandardní vlastnost currentStyle.
izsak
Profil
Yuhů
Ale však prehliadač pri vykreslovaní stránky musí vedieť o tom, akú hodnotu má display. A túto informáciu by mal mať aj pri odosielaní dát z formuláru.
Yuhů
Profil
szsak, já to asi neumím vysvětlit, ale když se ptáš něčemu na .style.display, tak se ptáš na ZÁPIS toho stylu, nikoliv na jeho hodnotu.
izsak
Profil
Yuhů
To je mi jasné. Ja som ale myslel, že prehliadač si pred odoslaním dát interne zistí hodnotu vlastnosti display (napr. v C++, alebo v čom je napísaný, nie cez JS). A ak bude <input type="file"/> skrytý, tak vyzve užívateľa na potvrdenie. Dúfam, že som to objasnil.

Pokiaľ by som v IE chcel cez JS zistiť hodnotu CSS vlastnosti, tak samozrejme na to je currentStyle. Ale ja som mal na mysli internú "vlastnosť" (funkciu, feature, alebo ako by som to nazval), ktorá by dávala pozor na formulár.
magnum
Profil *
ok a na co by to daval potvrdzovat ??? ked je <input type="file"... skryte tak sa mu neda nijako pridat hodnota tzn nic sa neodosle...
llook
Profil
document.getElementById('source_file')
a pojde vam to v kazdom prehliadaci

Nepojede, v ID nemá co dělat podtržítko.
Toto téma je uzamčeno. Odpověď nelze zaslat.