Показать сообщение отдельно
  #1 (permalink)  
Старый 24.09.2013, 12:11
Новичок на форуме
Отправить личное сообщение для 4y4yHDRA Посмотреть профиль Найти все сообщения от 4y4yHDRA
 
Регистрация: 28.08.2013
Сообщений: 7

После загрузки файла, открывает новую страницу, вместо вставки результата в DIV
Здравствуйте, уважаемые специалисты!
Подскажите пожалуйста в чем может быть проблема... осуществляю загрузку файла на сервер, файл грузится и все норм отрабатывает, но результат getfile.php, почему то отображается в новом окне, а не в div#message... и я полагаю по этой же причине не срабатывает вызов функции calcsave() в getfile.php.

код формы:
<?php
	session_start();
	$calcid = $_POST['calcid'];

	echo "<center>";
	if (($calcid != "") AND ($calcid != "0"))
	{
		echo "Максимальный размер файла: ".ini_get('upload_max_filesize')."
		<table border ='0' width='100%'> 
		<tr><td>
		<form id='myForm' action='lc/getfile.php' method='post' enctype='multipart/form-data'>
			 <input type='file' size='10' accept-charset='utf-8' name='myfile'>
			 <input type='text' size='10' name='calcid' value='".$calcid."' hidden>
			 <input type='submit' value='Загрузить...' onclick='loadfile();'>
		 </form>
		<div id='message'></div>
		</td></tr></table>
		<script>
		function loadfile()
		{
			var fd = new FormData();
			fd.append('calcid', '".$calcid."');
			fd.append('myfile', $('#myfile').files);
			
			$.ajax({
				dataType: 'HTML',
				async: false,
				  type: 'POST',
				  url: 'lc/getfile.php',
				  data: fd,
				  cache: false,
				  processData: false,
				  contentType: false,
				  success: function(data) {
					alert('sucs');
					$('div#message').html(data);
				  },
				 error: function(data) {
					alert('err');
					$('div#message').html(data);
				 },
				  complete: function(data) {
					alert('compl');
					$('div#message').html(data);
				  }
				});
		}
		</script>";
	}	
	else
	{
		echo "Перед прикреплением файла необходимо сохранить расчет!";
	}
	echo "</center>";
?>


getfile.php
<?php
$calcid = $_POST['calcid'];
$output_dir = "calcimg/";
 
if(isset($_FILES["myfile"]))
{
    if ($_FILES["myfile"]["error"] > 0)
    {
		$errtxt = ($_FILES["myfile"]["error"]=="1")?"Превышен максимальный размер файла":$_FILES["myfile"]["error"];
		echo "Ошибка: " . $errtxt . "<br>";
    }
    else
    {
		$truefilename = $_FILES["myfile"]["name"];
		//$s = mb_detect_encoding($truefilename);
		//$truefilename = iconv($s, 'CP1251//TRANSLIT', $truefilename);
        move_uploaded_file($_FILES["myfile"]["tmp_name"],$output_dir.$calcid."_".$truefilename);
 
		 echo "Прикрепленный файл: <div id='calcfile'>".$truefilename."</div>";
		 echo "<script>calcsave();</script>";
    }
}
?>


Спасибо...!
Ответить с цитированием