Ver Mensaje Individual
  #3 (permalink)  
Antiguo 29/08/2013, 14:53
bsanchez0323
 
Fecha de Ingreso: julio-2013
Mensajes: 32
Antigüedad: 11 años, 4 meses
Puntos: 2
Respuesta: Pasar datos de una ventana hija (modal) a ventana padre js

Hola ocp001a tengo estos 2 archivos
Este es el script padre que al presionar algún input de telefono manda llamar al script hijo en el cual respecto a una serie de validaciones puedo capturar en un input el número telefónico y ese número telefónico necesito regresarlo al al input del script padre lo cual hago con la funcion insertar, todo funciona bien con window open pero quisiera saber como hacerlo con window.showModalDialog

Código HTML:
Ver original
  1.     <head>
  2.             <TITLE>DIALER - MODO PREDICTIVO</TITLE>
  3.     </head>
  4.        
  5. <script language=javascript>
  6. function validar_telefono(id){
  7.     window.showModalDialog("validar_telefono.html?id="+id,window.document,"center=yes;dialogheight=410px;dialogwidth=360px;");
  8. }
  9. <BODY BGCOLOR="white" TEXT="#2000A0" STYLE="font-family: ARIAL,HELVETICA,SANS-SERIF">
  10. <form action="" method="post" name="form" id="form">
  11.  
  12. <div id="formulario" name="Formulario">    
  13.        
  14.         <table border='0'style="background-color: WHITE; WIDTH:150px; margin-left: -10px;" >
  15.         <tr>
  16.             <td style="color: black; font-family: Arial; width: 80px;font-size:14px;" ><small>Telefono 1: </small></td>
  17.             <td > <input id="Telefono1" name="Telefono1" value="" type="text"  onchange=" " size="12" style="font-family: Arial; font-size: 8pt;height: 16px;" onDblClick="validar_telefono('Telefono1');" readonly></td>
  18.             <td style="color: black; font-family: Arial; font-size:14px;"><small>Telefono 2: </small></td>
  19.             <td> <input id="Telefono2" name="Telefono2" value="" type="text"  onchange=" " size="12" style="font-family: Arial; font-size: 8pt;height: 16px;" onDblClick="validar_telefono('Telefono2');" readonly></td>
  20.         </tr>
  21.         <tr>
  22.             <td style="color: black; font-family: Arial; width: 80px; font-size:14px;"><small>Telefono 3: </small></td>
  23.             <td > <input id="Telefono3" name="Telefono3" value="" type="text"  onchange=" " size="12" style="font-family: Arial; font-size: 8pt;height: 16px;" onDblClick="validar_telefono('Telefono3');" readonly></td>
  24.             <td style="color: black; font-family: Arial; font-size:14px;"><small>Telefono 4: </small></td>
  25.             <td> <input id="Telefono4" name="Telefono4" value="" type="text"  onchange=" " size="12" style="font-family: Arial; font-size: 8pt;height: 16px;" onDblClick="validar_telefono('Telefono4');" readonly></td>
  26.         </tr>
  27.     </form>
  28.     </table>
  29. <iframe name="trastero" style="width:0px;height:0px;visibility:hidden"></iframe>
  30. </div>
  31. </Body>
  32. </HTML>

script hijo

Código HTML:
Ver original
  1.     <head>
  2.             <TITLE>Cliente Scripter</TITLE>
  3.     </head>
  4.     <script language=javascript>
  5.    
  6.     query=window.location.search.substring(1);
  7.     q=query.split("="); //clienteid=123456789,valor=opcion1
  8.     var id =q[1];
  9.      document.getElementById("LargaDistancia").style.display = 'none';
  10.      
  11.      function larga_distancia(){
  12.          document.getElementById("Tel_completo").disabled=true;
  13.          document.getElementById("LargaDistancia").style.display = '';
  14.          document.getElementById("Local").style.display = 'none';
  15.          document.getElementById("Tel").value='';
  16.          document.getElementById("Tel_completo").value='';
  17.      }
  18.      
  19.      function local(){
  20.          document.getElementById("Tel_completo").disabled=true;
  21.          document.getElementById("LargaDistancia").style.display = 'none';
  22.          document.getElementById("Local").style.display = '';
  23.          document.getElementById("Tel").value='';
  24.          document.getElementById("Tel_completo").value='';
  25.      }
  26.      function ld_fijo(){
  27.          document.getElementById("Tel_completo").disabled=false;
  28.          var input = document.getElementById ("Tel_completo");
  29.          input.maxLength = 10;
  30.          document.getElementById("Tel").value='901';
  31.          document.getElementById("num_caracteres").value= 10;
  32.          document.getElementById("Tel_completo").value='';
  33.          document.getElementById('Tel_completo').focus();
  34.      }
  35.      
  36.      function ld_movil(){
  37.          document.getElementById("Tel_completo").disabled=false;
  38.          var input = document.getElementById ("Tel_completo");
  39.          input.maxLength = 10;
  40.          document.getElementById("Tel").value='9045';
  41.          document.getElementById("num_caracteres").value= 10;
  42.          document.getElementById("Tel_completo").value='';
  43.          document.getElementById('Tel_completo').focus();
  44.      }
  45.      
  46.      function loc_fijo(){
  47.          document.getElementById("Tel_completo").disabled=false;
  48.          var input = document.getElementById ("Tel_completo");
  49.          input.maxLength = 8;
  50.          document.getElementById("Tel").value='9';
  51.          document.getElementById("num_caracteres").value= 8;
  52.          document.getElementById("Tel_completo").value='';
  53.          document.getElementById('Tel_completo').focus();
  54.      }
  55.      
  56.      function loc_movilFijo(){
  57.          document.getElementById("Tel_completo").disabled=false;
  58.          var input = document.getElementById ("Tel_completo");
  59.          input.maxLength = 10;
  60.          document.getElementById("Tel").value='9044';
  61.          document.getElementById("num_caracteres").value= 10;
  62.          document.getElementById("Tel_completo").value='';
  63.          document.getElementById('Tel_completo').focus();
  64.      }
  65.      
  66.      function insertar(){
  67.       var ret = validar_num_caracteres();
  68.       if (ret != false){
  69.           if(confirm("El número " + document.getElementById("Tel").value + document.getElementById("Tel_completo").value + " ¿es correcto?")){
  70.               window.opener.document.getElementById(id).value = document.getElementById("Tel").value + document.getElementById("Tel_completo").value;
  71.               window.close();
  72.           }
  73.       }
  74.      }
  75.      
  76.      function validar_num_caracteres() {
  77.          var num_caracteres = document.getElementById("num_caracteres").value;
  78.           if (form.Tel_completo.value.length < num_caracteres) {
  79.             alert('El número de no puede contener menos de ' + num_caracteres + " caracteres." );
  80.             form.Tel.focus();
  81.             return false;
  82.           }
  83.         }
  84.      function validarNro(e) //Esta funcion valida que solo se acepten números donde corresponda.
  85.      {
  86.         var key;
  87.                 if(window.event)
  88.                     {
  89.                     key = e.keyCode;
  90.                     }
  91.                 else if(e.which)
  92.                     {
  93.                     key = e.which;
  94.                     }
  95.                
  96.                 if (key < 48 || key > 57)
  97.                     {
  98.                     if(key == 46 || key == 8)
  99.                         { return true; }
  100.                     else
  101.                         { return false; }
  102.                     }
  103.                 return true;
  104.      } 
  105.      
  106.      function cancelar(){
  107.          window.close();
  108.      }
  109.      
  110.     </script>
  111. <BODY BGCOLOR="white" TEXT="#2000A0" STYLE="font-family: ARIAL,HELVETICA,SANS-SERIF">
  112. <form id="form" method="post" action="" id="form">
  113. <center style="color: black; font-family: Arial;"><h3>Tipo de teléfono</h3></center>
  114. <table align="center">
  115.   <tr>
  116.       <td style="color: black; font-family: Arial;"><input type="radio" name="myradio" value="Desabasto" onClick="larga_distancia();">Larga Distancia </td>    
  117.       <td style="color: black; font-family: Arial;"><input type="radio" name="myradio" value="No le interesa" onClick="local();">Local</td>
  118.       <td style="color: black; font-family: Arial;" height="10"></td>      
  119.     </tr>
  120. <div id="LargaDistancia" style="display:none;"  name="LargaDistancia">
  121. <table align="center">
  122.     <tr>
  123.         <td style="color: black; font-family: Arial;"><input type="radio" name="myradio_2" value="Baja rotacion" onClick="ld_fijo();">Teléfono fijo</td>       
  124.         <td style="color: black; font-family: Arial;"><input type="radio" name="myradio_2" value="No esta en portafolio" onClick="ld_movil();">Teléfono movil</td>
  125.         <td style="color: black; font-family: Arial;" height="10"></td>            
  126.     </tr>
  127. </div>
  128. <div id="Local" style="display:none;"  name="Local">
  129. <table align="center">
  130.     <tr>
  131.         <td style="color: black; font-family: Arial;"><input type="radio" name="myradio_2" value="Baja rotacion" onClick="loc_fijo();">Teléfono fijo</td>      
  132.         <td style="color: black; font-family: Arial;"><input type="radio" name="myradio_2" value="No esta en portafolio" onClick="loc_movilFijo();">Movil fijo</td>
  133.         <td style="color: black; font-family: Arial;" height="10"></td>        
  134.     </td>              
  135.     </tr>
  136. </div>
  137. <center>
  138.   <input id="Tel" name="Tel" value="" type="text"  size="12" style="font-family: Arial; font-size: 8pt;height: 16px; border:none;" disabled onkeypress="javascript:return validarNro(event)">
  139.   <input id="Tel_completo" name="Tel_completo" value="" type="text"  size="12" style="font-family: Arial; font-size: 8pt;height: 16px; " disabled onkeypress="javascript:return validarNro(event)">
  140.   <input id="num_caracteres" name="num_caracteres" value="" type="hidden"  size="12" style="font-family: Arial; font-size: 8pt;height: 16px;" >
  141.   <br>
  142.   <br>
  143.   <input type="button" value="Guardar" onClick="insertar();" style="WIDTH: 125px; HEIGHT: 25px">
  144.   <input type="button" value="Cancelar" onClick="cancelar();" style="WIDTH: 125px; HEIGHT: 25px">
  145. </center>
  146.  
  147. </form>    
  148. </Body>
  149. </HTML>


Gracias por anticipado =)