Formularfeld für Datei-Upload löschen

B

belix

Hallo zusammen,

auf eine Seite habe ich mehrere divs, die hinter einander mit Hilfe von Radiobuttons angezeigt werden, dh. wird der rb1 (Radiobutton1) angeklickt wird der erste dvi angezeigt, klickt der User den zweiten rb2 an wird der zweite div angezeigt, der erste div wird dagegen "versteckt".
Im jedem div habe ich ein Eingabefeld für Dateien:
Code:
<input type="file" name="fileLoad1">
Hat der User im ersten div eine Datei zum Hochladen ausgewählt und klickt auf den zweiten div und wählt dort ebenfalls eine Datei zum Hochladen, werden beide Dateien übertragen aber es soll nur die letzt ausgewählte Datei übertragen werden, dh. im meinem Fall die zweite, meinen Frage an dieser Stelle, wie kann ich in den "versteckten" divs die Formularfeld für Datei-Upload mit JavaScript "löschen", ich habe folgende Versuche gemacht, leider ohne Erfolg:
Code:
document.getElementsByName("fileLoad1").value ="";
document.getElementsByName("fileLoad1")[0].value ="";
document.form.fileLoad1.value = "";
kann mir jemand in dieser Angelegenheit ein Tipp geben wie man das lösen konnte.
Danke im Voraus.

Grüße belix
 
Immer dieses abartig File upload Feld ;). Mit dem IE wirst du aus Sicherheitsgründen keinen Zugriff auf das Objekt haben. Wenn dir eine Netscape only Lösung was bringt, dann kannsz du dir mit
Code:
if (navigator.appName=='Netscape') {
        netscape.security.PrivilegeManager.enablePrivilege('UniversalFileRead');
      }
die nötigen Rechte holen um auf das File zuzugreifen. Mein Tip: Mach für jedes Fileupload Feld ein eigenes Formular und ruf beim Ausblenden auf diese Formular ein reset() auf.

bye
 
Du könntest die Upload-Felder disablen, dann sollten sie normalerweise nicht mitgesendet werden.
Könnte z.B. so gehen
Code:
<script type="text/javascript">
<!--
function enableEs(was)
{
for(i=0;i<document.form.elements.length;++i)
	{
	eName=document.form.elements[i].name;
	if(eName.match(/^fileLoad\d+$/))
		{
		if(eName==was){document.form.elements(eName).disabled=false;}
		else{document.form.elements(eName).disabled=true;}
		}
	}
}
//-->
</script>

mit
Code:
<input type="radio"name="irgendwas"onclick="enableEs('fileLoad3');">
würdest du dann bspw. "fileLoad3" aktivieren und alle anderen Felder deaktivieren...
 

Neue Beiträge

Zurück