Autor |
Nachricht |
mikesch
Dabei seit: 15.04.2002
Ort: Leverkusen
Alter: 47
Geschlecht:
|
Verfasst Di 15.02.2005 13:54
Titel HEYHO ich habs gefunden |
|
|
Soderle war eigentlich ganz easy! zum nachvollziehen.
der fileinput wird versteckt und dann nachgebaut mit text und button. der button ruft dann per javascript den file auf und die funtkion gibt dem textfeld den wert des fiileinputs..
Lessig oder!
habe ich letztes jahtr ewig daran gebastelt und dabei isset echt easy. Ein wunder das ich die noch gefunden habe
Code: | <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Untitled Document</title>
</head>
<script>
function FileClick()
{
document.frmSample.Text1.value =
document.frmSample.File1.value;
}
</script>
<body>
<FORM Name="frmSample" Method="post" Action="">
<INPUT Type="file" Name="File1" Style="Display:none">
<INPUT Type="text" Name="Text1" Value="">
<Input type="button" name="But1" value="Open"
OnClick=Javascript:File1.click();FileClick()>
<INPUT Type="button" Name="But2" Value="Send"
OnClick="SubmitPage()">
</FORM>
</body>
</html> |
|
|
|
|
|
Raumwurm
Dabei seit: 21.12.2004
Ort: -
Alter: -
Geschlecht:
|
Verfasst Di 15.02.2005 14:11
Titel
|
|
|
super
ohne javascript wärs dann noch besser.
|
|
|
|
|
Anzeige
|
|
|
GUARDiAN
Dabei seit: 08.10.2004
Ort: Hamm (Westf.)
Alter: 44
Geschlecht:
|
Verfasst Do 17.02.2005 09:00
Titel
|
|
|
Klasse Idee. Muss man erstmal drauf kommen... Respekt!
Naja, das JS-Problem kann man ja so lösen, dass man den "echten" Button per JavaScript auf "display: none;", und den "falschen" auf "display: block;" setzt... Dann bekommen User ohne JavaScript halt den originalen, unformatierten Button angezeigt, und alle anderen den "Schönen".
|
|
|
|
|
Waschbequen
Account gelöscht
Ort: -
|
Verfasst Do 17.02.2005 09:22
Titel
|
|
|
Nö, die ohne JS bekommen beide angezeigt. Dass das funktioniert überrascht mich ein wenig, dachte eigentlich, dass man per Script keinen Zugriff auf die Properties des Elements hat.
|
|
|
|
|
GUARDiAN
Dabei seit: 08.10.2004
Ort: Hamm (Westf.)
Alter: 44
Geschlecht:
|
Verfasst Do 17.02.2005 09:27
Titel
|
|
|
Wenn Du die "falschen" Elemente per CSS auf "display: none;" setzt, und das dann per onload()-handler auf "block" oder "inline" setzt, und bei den "echten" genau andersrum, bekommen User mit aktiviertem JS nur die "falschen" angezeigt, da diese ja erst durch das JavaScript gezeigt werden, und die "echten" ausgeblendet werden. Wenn der User kein JS aktiviert hat, ist es genau andersrum...
Okay, im NS4 werden dann beide angezeigt, da dieser ohne JS auch kein CSS, bzw. JSSS, anzeigt.
Zuletzt bearbeitet von GUARDiAN am Do 17.02.2005 09:28, insgesamt 2-mal bearbeitet
|
|
|
|
|
Waschbequen
Account gelöscht
Ort: -
|
Verfasst Do 17.02.2005 09:31
Titel
|
|
|
GUARDiAN hat geschrieben: | Wenn Du die "falschen" Elemente per CSS auf |
Das ist der Unterschied
Wenn du es aber wie oben geschrieben per JS machst, bringt es dir nichts.
|
|
|
|
|
GUARDiAN
Dabei seit: 08.10.2004
Ort: Hamm (Westf.)
Alter: 44
Geschlecht:
|
Verfasst Do 17.02.2005 09:35
Titel
|
|
|
Wieso habe ich ein Logikproblem?
Die "Fake-Buttons" sind per CSS auf "display: none;" gesetzt, also nicht sichtbar.
Der echte File-Selector hat keine derartige Angabe, ist also sichtbar.
Wenn jetzt der User JS aktiviert hat, passiert folgendes:
Die "Fake-Buttons" bekommen per JS-onload() eine Klasse mit "display: block;" (oder inline - ist ja auch egal) zugewiesen, werden dadurch sichtbar.
Der echte File-Selector bekommt per JS-onload() eine Klasse mit "display: none;" und verschwindet.
Wenn der User kein JS aktiviert hat, passiert eben diese onload()-Geschichte nicht, und der oben beschriebene Fall tritt ein.
|
|
|
|
|
Waschbequen
Account gelöscht
Ort: -
|
Verfasst Do 17.02.2005 09:36
Titel
|
|
|
s.o.
|
|
|
|
|
|
|
|
Ähnliche Themen |
Dateiname UND Pfad aus <input type=file> auslesen?
CSS, input file-button gestalten
wie input formatieren?
formulare & formatieren
input.file Frage und Loesung
mp3-file per button in pdf abspielen lassen?
|
|