Показать сообщение отдельно
  #3 (permalink)  
Старый 06.12.2010, 10:39
Кандидат Javascript-наук
Отправить личное сообщение для Slavenin Посмотреть профиль Найти все сообщения от Slavenin
 
Регистрация: 20.11.2010
Сообщений: 143

сделал через ifame
есть форма:
<form id = "formLoad" action="test.php" target="rFrame" method="POST" enctype="multipart/form-data">
		<td align = "center">
		Фото:<br/>
			 <input name="loadfile" type="file" size = "10">
			 <input type="submit" onClick = "createIFrame()" value="загрузить">
			 <input name="curId" type="hidden" value = "photo_" .$i ."">
		</form>
		<span id = "photo_" .$i ."">
		</span>


функции для загрузки:
function onResponse(d) 
{  
 with(d)
 {
  eval('var obj = ' + d + ';');
 }  
  //document.getElementById('resUpl').innerHTML = ('Файл ' + obj.filename + (obj.success ? " " : " НЕ ") + "загружен.");
  var obj2 = document.getElementById(obj.id);
  var masFName = obj.filename;
  obj2.innerHTML = masFName;
  //var mas_remove = document.getElementById('forFrame');
  //mas_remove.innerHTML ="";
}  

function createIFrame() 
{
  var div = document.createElement('div');
  div.getAttribute('id');
  div.setAttribute('id','forFrame')
  var masNframe = Math.floor(Math.random());
  div.innerHTML = "<iframe id=\"rFrame\" name=\"" + masNframe + "\" style=\"display: none\"></iframe>";
  document.getElementById('formLoad').setAttribute('target', masNframe);
  document.body.appendChild(div);
  
}


<?php  
 function jsOnResponse($obj)  
 {  
 echo ' 
 <script type="text/javascript"> 
 window.parent.onResponse("'.$obj.'"); 
 </script> 
 ';  
 }  
  
 $dir = 'img/';  
 $name = basename($_FILES['loadfile']['name']);  
 $file = $dir .$name;
 if($success = move_uploaded_file($_FILES['loadfile']['tmp_name'], $file))
 {  
  jsOnResponse("{'filename':'" . $name . "', 'success':'" . $success . "', 'id':'" .$_POST['curId'] ."'}");
 }
 else
 {
  echo "загрузка не удалась";
 }  
  
?>


в ie все загружается нормально, опера загружать отказывается. событие onSubmit в опере тож не срабатывает, повесил onclick На кнопку. Фрейм создается и на этом процесс останавливается. Что я сделал не так?

Последний раз редактировалось Slavenin, 06.12.2010 в 10:41.
Ответить с цитированием