Nem működő tallózás gomb
Sziasztok!
Ismét egy igazi csemegével szolgálhatok... :) A probléma lényege röviden annyi, hogy az egyik oldalamon nem működik a fájl tallózás.. legalábbis egyes gépeken, egyes embereknél. Kb 400 emberből 2-nél nem ment eddig, tehát elég kicsi a szórás, mégis roppant idegesítő, mert a regisztráció egyik lépcsőjénél létfontosságú lenne a működése (tényleg!).
A visszajelzések alapján hiába kattintanak a tallózás gombra, nem jelenik meg a kis fájl tallózó ablak - én élőben még nem tudtam reprodukálni ezt semmilyen böngészővel, de állításuk szerint sem IE6-ban, sem Firefox 2.02-ban nem ment - Windows XP alatt. Ezek alapján én arra gyanakszom, hogy valami más hiba lehet (javítócsomag hiánya, többlete, vmilyen vírus stb), de akkor meg ugye máshol sem működne a dolog nekik... szóval teljesen tanácstalan vagyok.
A helyzetet bonyolítja, hogy nem "sima" tallózás gombot használok, hanem egy igényre szabottat, JS + CSS megoldással. A vázát itt is megadom, a dolog alapja a http://www.quirksmode.org/dom/inputfile.html
Alap JS:Paraméterezve meghívva:CSS:És a generált HTML:Szívesen belinkelem élőben is a lapot, de nem akarom, hogy rögtön rekámnak tűnjön a téma.
■ Ismét egy igazi csemegével szolgálhatok... :) A probléma lényege röviden annyi, hogy az egyik oldalamon nem működik a fájl tallózás.. legalábbis egyes gépeken, egyes embereknél. Kb 400 emberből 2-nél nem ment eddig, tehát elég kicsi a szórás, mégis roppant idegesítő, mert a regisztráció egyik lépcsőjénél létfontosságú lenne a működése (tényleg!).
A visszajelzések alapján hiába kattintanak a tallózás gombra, nem jelenik meg a kis fájl tallózó ablak - én élőben még nem tudtam reprodukálni ezt semmilyen böngészővel, de állításuk szerint sem IE6-ban, sem Firefox 2.02-ban nem ment - Windows XP alatt. Ezek alapján én arra gyanakszom, hogy valami más hiba lehet (javítócsomag hiánya, többlete, vmilyen vírus stb), de akkor meg ugye máshol sem működne a dolog nekik... szóval teljesen tanácstalan vagyok.
A helyzetet bonyolítja, hogy nem "sima" tallózás gombot használok, hanem egy igényre szabottat, JS + CSS megoldással. A vázát itt is megadom, a dolog alapja a http://www.quirksmode.org/dom/inputfile.html
Alap JS:
- function cssFileForm(form, input, output) {
- if (!document.getElementById) return;
- var x = document.getElementById(input);
- x.onchange = x.onmouseout = function () {
- // fájlnév levágása a \ jel mentén
- pozicio = this.value.lastIndexOf("\\");
- hossz = this.value.length;
- fajlnev = this.value.substring(pozicio+1, hossz);
- eval("document."+form+"."+output+".value='" + fajlnev + "'");
- }
- }
- function init_zenekarform() {
- cssFileForm('zenekarform', 'kep_input', 'kepnev_input');
- }
- if (window.attachEvent) window.attachEvent("onload", init_zenekarform);
- else window.addEventListener("load", init_zenekarform, false);
- div.fileinputs {
- position: relative;
- top: 7px;
- display: inline;
- margin-bottom: -10px !important;
- cursor: pointer;
- }
- div.fakefile {
- position: absolute;
- top: 4px;
- left: 0px;
- z-index: 1;
- width: 200px;
- }
- div.fakefile input {
- margin-right: 4px;
- }
- input.file {
- position: relative;
- left: 2px;
- z-index: 2;
- opacity: 0;
- }
- <div class="fileinputs">
- <input type="file" class="file" name="kep_input" id="kep_input" onchange="eltuntetes('kep')" />
- <div class="fakefile"><input id="kepnev_input" />tallózás</div>
- </div>
kis segítség az értelmezéshez
kikapcsolt js?
A js-ben miért eval-lal írod bele a filenevet a text mezőbe?
nem akadály
Hogy miért eval-lal csináltam, már nem tudom... Valószínűleg azért, mert úgy egyszerűbb volt belefűznöm a parancsba a változókat, de ez a működés szempontjából nem is annyira lényeges...
getElementById
helyett
ok
szerintem...
Ja most látom, hogy backslash mentén darabolsz. Az meg csak windows-nál van. unixon / a path elválasztó. régebbi apple rendszereken meg a :