Hent '<input type="file">.value' i Internet Explorer og Opera
Hej Eksperter!Jeg har gang i et system som bl.a. skal generere winamp-playlists. For at gøre det let for brugeren at tilføje en fil bruger jeg <input type="file">, så bruger kan vælge en fil på sin harddisk, uden at skulle skrive hele stien eller klippe/klistre navnet.
Til formålet benytter jeg et JavaScript som overfører værdien fra file-input'et til et hidden-input. Hvis ikke det blev gjort ville jeg blot få filens navn, og ikke hele stien, hvilket er nødvendigt i dette tilfælde.
Følgende virker fint i Firefox, men giver "undefined" i Internet Explorer og Opera...
/* Venligst lånt fra Eksperten.dk */
function get_id ($id) {
if (document.all && document.getElementById) {
return document.all($id);
} else if (!document.all && document.getElementById) {
return document.getElementById($id);
} else {
return false;
}
}
function fullpath () {
$fil = get_id('fil');
$hiddenfil = get_id('hiddenfil');
$hiddenfil.value = $fil.value;
}
<form action="save.php" method="post" onsubmit="fullpath();">
Fil: <input id="fil" type="file" />
<input type="hidden" name="fil" id="hiddenfil" />
<input type="submit" value="Tilføj" />
</form>
Har lavet et mindre eksempel på http://hermandsen.homepage.dk/exp/inputfile.html
//hermandsen
