У меня есть эта форма
<form id="frm_main" action="#" method=POST>
<input type=hidden name="MAX_FILE_SIZE" value="100000" />
<input id='file' name="file" type="file">
<input type=submit id='btn_import' name='btn_import' value='Importar' />
<input type=hidden id="uploadResponseType" name="mimetype" value="html" />
<input type=hidden id="func" name="func" value="upload" />
<div id="uploadOutput"></div>
</form>
Итак, проблема возникла, когда я пытаюсь опубликовать загруженный файл. Если я использую функцию ajaxSubmit, форма отправляется, но она не возвращается на страницу; и если я использую функцию $ .ajax, она не отправляет файл загрузки. Дело в том, что мне нужно вернуться на ту же страницу, потому что я должен кое-что сделать с содержимым файла. Я уже перепробовал много комбинаций, но у меня все те же результаты. Код для обработки отправки выглядит следующим образом
<code>$( '#frm_main' ).bind( 'submit', function( e ) {
// e.preventDefault(); // <-- important
$( this ).ajaxSubmit({
target: '#uploadOutput', // <-- div container
type: "POST", // <-- override, just in case.
url: "/process.php", // <-- server-side handler
data: "func=upload", // <-- parameter for post purpouse
beforeSubmit: function(a,f,o) {
o.dataType = $('#uploadResponseType').val(); // should be 'html'.
$('#uploadOutput').html('Submitting...');
},
success: function(data) {
var $out = $('#uploadOutput');
$out.html('Form success handler received: <strong>' + typeof data + '</strong>');
$out.append('<div><pre>'+ data +'
');
}
});
вернуть ложь;
});
И я уже попробовал следующий код
$('#frm_main').bind('submit', function() {
var formdata = $(this).serialize();
$.ajax({
url: '/process.php',
data: formdata,
dataType: 'html',
success: function(data){
var $out = $('#uploadOutput');
$out.html('Form success handler received: <strong>' + typeof data + '</strong>');
}
});
return false;
});
И код process.php выглядит так
switch($_POST['func']) {
case 'upload' :
$output = upload_file ();
echo $output;
break;
default :
echo "<BR/>INVALID";
break;
}
?>
Может кто-нибудь помочь мне в этой ситуации, пожалуйста? Будем благодарны за любую помощь