Это возможно, но нет гарантии, что запрос будет завершен к тому времени, как вы покинете страницу.Если вы отправляете форму через AJAX и также хотите отправить файл, вы можете поместить загрузку файла в совершенно отдельный тег формы, а затем инициировать отправку формы после успешного вызова AJAX.Например:
<!-- First form with your data -->
<form action="/your/url/here" method="post" id="form1">
<input type="text" name="title" />
<input type="submit" value="Save" />
</form>
<!-- Second form with your file -->
<form action="/uploadfile" method="post" id="form2" enctype="multipart/form-data">
<input type="file" name="fileupload" />
</form>
Затем в Javascript (для краткости используйте пример jQuery, обратите внимание, я вообще не тестировал этот код):
$('#form1').bind('submit', function() {
$.ajax({
url: $(this).attr('action'),
data: $(this).serialize(),
type: 'post',
success: function() {
$('#form2').submit();
}
});
return false;
});