Ver Mensaje Individual
  #1 (permalink)  
Antiguo 24/08/2012, 06:03
charlyta
 
Fecha de Ingreso: junio-2008
Mensajes: 291
Antigüedad: 16 años, 9 meses
Puntos: 9
pasar valor de iframe a un input principal

Hola. sigo intentando resolver los codigos del dia. El tema es que intento pasar una imagen que se muestra en un iframe a través de ajax a un inpurt text. Así luego pasarí asin problemas la ruta dela imagen con ajax a una mysql.

este es el iframe:
Código Javascript:
Ver original
  1. function $m(theVar){
  2.     return document.getElementById(theVar)
  3. }
  4. function remove(theVar){
  5.     var theParent = theVar.parentNode;
  6.     theParent.removeChild(theVar);
  7. }
  8. function addEvent(obj, evType, fn){
  9.     if(obj.addEventListener)
  10.         obj.addEventListener(evType, fn, true)
  11.     if(obj.attachEvent)
  12.         obj.attachEvent("on"+evType, fn)
  13. }
  14. function removeEvent(obj, type, fn){
  15.     if(obj.detachEvent){
  16.         obj.detachEvent('on'+type, fn);
  17.     }else{
  18.         obj.removeEventListener(type, fn, false);
  19.     }
  20. }
  21. function isWebKit(){
  22.     return RegExp(" AppleWebKit/").test(navigator.userAgent);
  23. }
  24. function ajaxUpload(form,url_action,id_element,html_show_loading,html_error_http){
  25.     var detectWebKit = isWebKit();
  26.     form = typeof(form)=="string"?$m(form):form;
  27.     var erro="";
  28.     if(form==null || typeof(form)=="undefined"){
  29.         erro += "The form of 1st parameter does not exists.\n";
  30.     }else if(form.nodeName.toLowerCase()!="form"){
  31.         erro += "The form of 1st parameter its not a form.\n";
  32.     }
  33.     if($m(id_element)==null){
  34.         erro += "The element of 3rd parameter does not exists.\n";
  35.     }
  36.     if(erro.length>0){
  37.         alert("Error in call ajaxUpload:\n" + erro);
  38.         return;
  39.     }
  40.     var iframe = document.createElement("iframe");
  41.     iframe.setAttribute("id","ajax-temp");
  42.     iframe.setAttribute("name","ajax-temp");
  43.     iframe.setAttribute("width","0");
  44.     iframe.setAttribute("height","0");
  45.     iframe.setAttribute("border","0");
  46.     iframe.setAttribute("style","width: 0; height: 0; border: none;");
  47.     form.parentNode.appendChild(iframe);
  48.     window.frames['ajax-temp'].name="ajax-temp";
  49.     var doUpload = function(){
  50.         removeEvent($m('ajax-temp'),"load", doUpload);
  51.         var cross = "javascript: ";
  52.         cross += "window.parent.$m('"+id_element+"').innerHTML = document.body.innerHTML; void(0);";
  53.         $m(id_element).innerHTML = html_error_http;
  54.         $m('ajax-temp').src = cross;
  55.         if(detectWebKit){
  56.             remove($m('ajax-temp'));
  57.         }else{
  58.             setTimeout(function(){ remove($m('ajax-temp'))}, 250);
  59.         }
  60.     }
  61.     addEvent($m('ajax-temp'),"load", doUpload);
  62.     form.setAttribute("target","ajax-temp");
  63.     form.setAttribute("action",url_action);
  64.     form.setAttribute("method","post");
  65.     form.setAttribute("enctype","multipart/form-data");
  66.     form.setAttribute("encoding","multipart/form-data");
  67.     if(html_show_loading.length > 0){
  68.         $m(id_element).innerHTML = html_show_loading;
  69.     }
  70.     form.submit();
  71. }


lo he intentado utilzando esto, pero nada de nada: (filesnames es el input donde quiero la ruta de la imagen)

Código Javascript:
Ver original
  1. <script>
  2. function dale()
  3. {
  4.  
  5. var myIFrame = document.getElementById("ajax-temp");
  6.  
  7. alert(myIFrame.contentWindow.document.getElementById("name").innerHTML);
  8. var filenames = window.frames['ajax-temp'].document.getElementById('name').value
  9.  
  10. }
  11.  
  12. </script>