В моей форме используются предупреждения javascript для связи с пользователем, так как это предпочтительный метод в компании, в которой я работаю (в отличие от постоянных переадресаций в файл обработчика php и из него).Загрузка файла в php через ajax
Из-за этого я передаю все свои данные формы через некоторую простую проверку в jquery и отправил ее обработчику php через ajax. Вот основной взгляд на то, как я это делаю ...
var first_name = $(sender + ' #first_name');
var email = $(sender + ' #email');
var tel = $(sender + ' #telephone');
var comments = $(sender + ' #comments');
$.ajax({
type: 'POST',
url: 'sendmail.php',
data: { first_name: first_name.val(),
email: email.val(),
telephone: tel.val(),
comments: comments.val(),
success: function clearFields() {
first_name.val('');
email.val('');
tel.val('');
comments.val('');
alert('Thank you. We will contact you as soon as possible.');
}
}
});
Прибавив поле ввода файла в одной такой форме, как следует, у меня возникают проблемы с загрузкой. В то время как электронная почта отправляет правильно, я не думаю, что Ajax посылает любые используемые данные для загрузки на файл PHP
<input type="file" name="upload" id="upload" />
<script>
var upload = $("#upload");
$.ajax({
type: 'POST',
url: 'sendmail.php',
data: { first_name: first_name.val(),
email: email.val(),
telephone: tel.val(),
upload: upload.val(),
comments: comments.val(),
success: function clearFields() {
first_name.val('');
email.val('');
tel.val('');
upload.val('');
comments.val('');
alert('Thank you. We will contact you as soon as possible.');
}
}
});
</script>
я нашел несколько вариантов, но все те, которые я» ve посмотрел на such as this, кажется, «хакерский» для меня.
Есть ли более простой способ сделать это?
wht не использовать форму jQuery? http://malsup.com/jquery/form/ – alexbusu