Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 16.07.2009, 15:04
Paul56
 
Сообщений: n/a

object и object HTMLFormElement
Господа подскажите почему так происходит?
Есть форма через которую отправляется файл посредством аякса,
работает везде кроме IE6. Вывел алертом данные которые передавались в крипт получил [object], а в остальных браузерах получил [object HTMLFormElement] в чём разница кто может сказать между этими параметрами, может из-за этого не передаётся файл в IE6 ?
Ответить с цитированием
  #2 (permalink)  
Старый 16.07.2009, 15:49
Аватар для B~Vladi
Модератор Всея Форума
Отправить личное сообщение для B~Vladi Посмотреть профиль Найти все сообщения от B~Vladi
 
Регистрация: 14.05.2009
Сообщений: 4,021

[object] и [object HTMLFormElement] в данном случае одно и то же. Это особенность IE6 (он всегда вернёт [object]).
Покажите нам код, желательно без лишнего мусора.
Ответить с цитированием
  #3 (permalink)  
Старый 17.07.2009, 08:29
Paul56
 
Сообщений: n/a

function createIFrame() {
  var id = 'f' + Math.floor(Math.random() * 99999);
  var div = document.createElement('div');
  div.innerHTML = '<IFRAME style="display:none" src="about:blank" id="'+id+'" name="'+id+'" onload="sendComplete(\''+id+'\')"></IFRAME>';
  document.body.appendChild(div);
  return document.getElementById(id);
}

function sendForm(form, url, func, arg) {
alert(form)
  if (!document.createElement) return; // not supported
  if (typeof(form)=="string") form=document.getElementById(form);
  var frame=createIFrame();

  frame.onSendComplete = function() { func(arg, getIFrameXML(frame)); };
  form.setAttribute('target', frame.id);
  form.setAttribute('action', url);
  form.submit();
}

function sendComplete(id) {
  var iframe=document.getElementById(id);
  if (iframe.onSendComplete && typeof(iframe.onSendComplete) == 'function') iframe.onSendComplete();
}

function getIFrameXML(iframe) {

  var doc=iframe.contentDocument;
  if (!doc && iframe.contentWindow) doc=iframe.contentWindow.document;
  if (!doc) doc=window.frames[iframe.id].document;
  if (!doc) return null;
  if (doc.location=="about:blank") return null;
  if (doc.XMLDocument) doc=doc.XMLDocument;
  return doc;
}


function uploadComplete(element, doc) {
  if (!doc) return;
  if (typeof(element)=="string") element=document.getElementById(element);
  document.getElementById("limg").innerHTML = '';
  element.innerHTML ='<img style="padding-left:10px" src="i/'+ doc.documentElement.firstChild.nodeValue +'">';
  element.innerHTML += '<img src="i/x.png" onClick="delimg(\'dimg.cgi?file=\',\''+doc.documentElement.firstChild.nodeValue+'\',\'limg\')">';
}

function delimg(u,a,f) {
var xmlhttp = getXmlHttp()
xmlhttp.open('GET', u+a, false);
xmlhttp.send(null);
if(xmlhttp.status == 200) {
  document.getElementById("resultDiv").innerHTML = '';
  document.getElementById(f).innerHTML = '<input type=\'file\' name=\'uploadFile\' onChange="sendForm(this.form, \'uploadFile.cgi\', uploadComplete, \'resultDiv\');return true;">';
}
}


<div id="limg">
<form method="post" enctype="multipart/form-data" onsubmit="return valid_form1(this)" >
<input type="file" name="uploadFile" onChange="sendForm(this.form, 'uploadFile.cgi', uploadComplete, 'resultDiv');return true;"></div>
   
   <div id="resultDiv" style="display:inline"></div>
</form>
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Object и очередность доступа к свойствам Shasoft Общие вопросы Javascript 3 13.03.2009 11:42
DHTML vs DOM Snipe Общие вопросы Javascript 8 22.09.2008 17:33