2015-12-16 5 views
-1

У меня есть элемент формы, в котором есть кнопка загрузки файла и кнопка отправки. Нажав кнопку отправки, он хочет, чтобы элемент формы в переменной, а не отправлял форму. Но Здесь в моем примере console.log (form) ничего не возвращает.Как получить элемент формы, как и любой другой элемент html

Как я могу достичь этого, чтобы я мог назначить форму в объекте formData?

файл PHP приводится ниже:

<?php ?> 
<html> 
<body> 
<form id='myform'> 
<input type='file' id='up' name='image' > 
<input type='submit' value='submit' id='submit'> 
</form> 

<script>  
    function upload(e){ 
     e.preventDefault(); 
     var form=document.querySelector('#myform'); 
     console.log(form); 
    } 


    document.getElementById('submit').addEventListener('click',upload,false); 
</script> 
</body> 
</html> 
+2

Почему PHP нужно здесь? Также в чем проблема с вашим примером? –

+3

Кажется, работает: https://jsfiddle.net/pegcj7yu/ (регистрирует элемент формы в консоли). – pawel

+0

Почему вы используете 'document.querySelector ('# myform')' вместо 'document.getElementById ('myform')' в 'upload' функции? – razzak

ответ

2

ли вы имеете в виду это, который будет захватывать все поля из <form>?

var formData = new FormData(document.getElementById('myform')); 

Я предполагаю, что вы работаете в направлении вызова AJAX в конечном счете

+0

точно..и должен работать так, как в моем примере, но у меня есть пустой console.log() в моем браузере. он работает с файлом с расширением .html, но console.log() остается пустым в файле с расширением .php –

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