XHTMLforum

XHTMLforum (http://xhtmlforum.de/index.php)
-   Javascript & Ajax (http://xhtmlforum.de/forumdisplay.php?f=83)
-   -   addEventListener bei File-Upload ... (http://xhtmlforum.de/showthread.php?t=73851)

erich.wanker 03.06.2019 17:31

addEventListener bei File-Upload ...
 
Hallo,
ein "EventListener" soll ein File automatisch an ein PHP senden - wenn eine Datei zum uploaden ausgewählt wurde (damit ich nicht auf "Upload" klicken muss)

.. LEIDER FUNKTIONIERT DER NICHT .. das PHP bekommt kein File ...

Vielen Danke für Hilfe
Erich



Hier die zwei minimalisierten Quelltexte:

1. index.html
HTML-Code:


<!DOCTYPE html>
<html>
<head>
</head>
<body>

<input id="myFileInput1" type="file" name="userfile" accept="image/*" capture>


</body>
</html>

<script>
document.addEventListener("DOMContentLoaded", function() {
document.getElementById('myFileInput1').addEventListener('change', sendeBild, false);
});


function sendeBild()  {

var form = document.createElement("form");
form.setAttribute("action","server.php");
form.setAttribute("enctype","multipart/form-data");
form.setAttribute("method","POST");
form.setAttribute("target","_self");
form.innerHTML = '<input type="file" name="userfile"/>';
document.body.append(form);
form.submit();
}

</script>



2. server.php

PHP-Code:

<?php
$uploads_dir 
'uploads/';
$name $_FILES['userfile']['name'];
if (
is_uploaded_file($_FILES['userfile']['tmp_name']))
{       
     
move_uploaded_file($_FILES['userfile']['tmp_name'], $uploads_dir.$name);
     echo 
'Das Ding wurde gespeichert';
     exit;
}

?>


basti1012 05.06.2019 13:52

so gehr es bei mir

Code:


<!DOCTYPE html>
<html>
<head>
</head>
<body>


</body>
</html>

<script>
sendeBild();

function sendeBild()  {

var form = document.createElement("form");
form.setAttribute("action","server.php");
form.setAttribute("enctype","multipart/form-data");
form.setAttribute("method","POST");
form.setAttribute("target","_self");
form.innerHTML = '<input id="ok" type="file" name="userfile"/>';
document.body.append(form);


 
document.getElementById('ok').addEventListener('change',function(){
form.submit();
});
 }
</script>

weil dein code kann so nicht gehen weil du ein leeres input sendest. Ich kann nicht gut erklären aber so ungefähr ist es .

Habe das php auch zwar geändert ,aber dein php sollte so auch klappen


Alle Zeitangaben in WEZ +2. Es ist jetzt 01:39 Uhr.

Powered by vBulletin® Version 3.8.11 (Deutsch)
Copyright ©2000 - 2024, vBulletin Solutions, Inc.

© Dirk H. 2003 - 2023