Feldtyp "File" RESET

Thomas_Jung

Erfahrenes Mitglied
Hallo
Javascript Forum

Ich möchte ein Feldtype file leeren b.z.w ein reset machen.

Code:
Für den Type "text" funktioniert:
document.getElementById("upload").value = "";  

Wie muß der Befehl für den Type "file" lauten

input name="upload" type="file" id="upload"

Gruß Thomas
 
Zuletzt bearbeitet:
Hi,

nach SelfHTML wird das value-Attribut bei Inputelementen vom Typ file bei modernen Browsern aus
Sicherheitsgründen nicht mehr unterstützt.

Vielleicht ist folgender Workaround eine Lösung:
- Es wird ein neues File-Element erstellt.
- Diese erhält Name und ID des alten Elementes.
- Zuletzt wird es Ausgangselement durch das neu erstellte Objekt ersetzt.
HTML:
<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
     "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>www.tutorials.de</title>
<meta name="author" content="Quaese" />
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<script type="text/javascript">
  <!--
function resetFile(strID){
  // Neues Input-Element
  objNode = document.createElement("input");
  // Typ, ID und Name setzen
  objNode.setAttribute("type", "file");
  objNode.setAttribute("id", strID);
  objNode.setAttribute("name", strID);

  // Bestehendes File-Element ersetzen
  document.getElementById(strID).parentNode.replaceChild(objNode, document.getElementById(strID));
}
 //-->
</script>
</head>

<body>

<form action="" method="post">
  <input type="file" name="upload" id="upload" />
  <button onclick="resetFile('upload'); return false;">reset file</button>
</form>
</body>
</html>
Ciao
Quaese
 
Hallo Quaese
Vielen Dank für deine Antwort.
Re: Feldtyp "File" RESET
Multi-File Upload Script in PHP

Kannst du mir helfen ob oder wie ich deinen Workaround was funktioniert
in diesem script verwenden kann.
Ohne das ich einen Nervenzusammenbruch erleide. :)
Habe es versucht aber Javascript muß ich noch ein wenig lernen.

Code:
<script type="text/javascript">
function ShowImage0(Real)
{
if(document.getElementById("uploadFileImage0")) {
var uploadFile0 = document.getElementById("uploadFileImage0");
if(Real)
{File.Type=Real.substring(Real.lastIndexOf(".")+1);
if(File.Type.toLowerCase() != "jpg" && File.Type.toLowerCase() != "jpeg" && File.Type.toLowerCase() != "gif" && File.Type.toLowerCase() != "png")
{
var Set.Error = "Falsche Dateiendung";
alert(Set.Error);
document.getElementById("uploadFileImage0").value = "";
document.getElementById("uploadFileImage0").src = "no.gif";

resetFile('upload');    

return false;
} else {
document.getElementById("uploadFileImage0").src = Real;
return true;
}   } else { 	return; } 	}  else { return; } }
</script>

Gruß
Thomas
 
Hi,

du musst dem Script lediglich die ID des File-Elementes übergeben - in deinem ersten Beitrag
war das upload.
Ansonsten muss die Funktion selbst noch bekannt sein. Dazu fügst du sie vor deine Routine
ShowImage0 ein.

Sollte es dann noch immer nicht funktionieren, solltest du auch das Formular mit dem Aufruf
deiner Funktion posten.

Ciao
Quaese
 

Neue Beiträge

Zurück