2016-05-20 2 views
1

Моя цель - автоматически загружать изображение в папку при выборе файла. После ответа на how do I auto-submit an upload form when a file is selected, я попытался использовать onchange событие JavaScript, чтобы автоматически отправить форму:Загрузить изображение сразу после выбранного

<?php 
if(isset($_POST['upload'])) 
{ 
$ImageName = $_FILES['photo']['name']; 
$fileElementName = 'photo'; 
$path = '../images/'; 
$location = $path . $_FILES['photo']['name']; 
move_uploaded_file($_FILES['photo']['tmp_name'], $location); 
} 
?> 

<form method="post" enctype="multipart/form-data"> 
<input type="file" name="photo" onchange="document.getElementById('upload').submit();" id="file" class="inputfile" /> 
<label for="file">Add Image</label> 
<input type="submit" style="display: none;" name="upload" id="upload"> 
<input type="text"> 
<input type="submit"> 
</form> 

Когда файл выбран, он автоматически не загруженные в папку.

Примечание: я не могу использовать onchange="form.submit()", поскольку у меня есть несколько кнопок отправки в моей форме!

+0

<входной тип "не подавать" стиль = "дисплей: нет;" name = "upload" id = "upload"> ?? Почему не Вам также нужно указать свои входы, чтобы PHP мог их видеть –

+0

В submit необходимо «id =» загрузить », поскольку я использую 'document.getElementById ('upload')' –

ответ

0

Я думаю, вы могли бы просто изменить его на:

document.getElementById('upload').click(); 

Или сделать что-то вроде этого:

var button = document.getElementById('upload'); 
button.form.submit(); 
+0

Кажется, что обновление кода из '.submit();' to '.click();' разрешило проблему. Большое спасибо. –

Смежные вопросы