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 :