Foros del Web » Programando para Internet » Javascript »

[SOLUCIONADO] Lanzar formulario

Estas en el tema de Lanzar formulario en el foro de Javascript en Foros del Web. Buenas tardes: Tengo un formulario desde el que llamo a otras paginas web mediante include() de php de acuerdo con unos parámetros que selecciono mediante ...
  #1 (permalink)  
Antiguo 16/09/2016, 12:53
 
Fecha de Ingreso: noviembre-2005
Mensajes: 146
Antigüedad: 19 años
Puntos: 1
Lanzar formulario

Buenas tardes:
Tengo un formulario desde el que llamo a otras paginas web mediante include() de php de acuerdo con unos parámetros que selecciono mediante varios radio-button, con los que genero una consulta que trasladan la información a un Select. Cuando se produce un cambio en el select al seleccionar el parámetro que quiero, llama al script correspondiente y se carga la página debajo del formulario desde el que he hecho la llamada.
Funciona bien y no hay problema.
He querido dar un paso más con una una de las paginas que me devuelve los valores de una Consulta. La idea es, una vez cargada la pagina, poder ordenar los resultados según criterios diferentes. Para ello el script de la segunda página lo he desglosado en dos script.
script1 y script2.
Se produce la llamada al script1, que una vez cargado, mediante el include() llama al segundo script2. Y todo bien.
En el script1 he incluido dos input para cada campo por el que quiero ordenar la página del script2. Uno para orden ascendente y otro para orden descendente. El envento onclick desde el script1 es capturado mediante una función javascript que asigna valores a los inputs de un formulario que he incluido en el script1 y la idea es que se pudiera recargar la página del script2 con los parametros que le paso. Pero lo que sucede al hacer la llamada es que la página se vacía y sólo queda el script inicial desde el que se inicio el proceso.
No sé si es un problema de planteamiento o de codificación.
Os paso el código del script1 y script2

script 1
Código HTML:
Ver original
  1. <!DOCTYPE HTML>
  2. <html lang="es">
  3.     <head>
  4.    
  5.         <title></title>
  6.         <!--Elegimos el juego de carácteres que incluye ñ y tildes-->
  7.         <meta charset="utf-8">
  8.         <!--Indicamos al navegador como debe entender el tamaño de pantalla que tiene el dispositivo en el que vemos la página web. -->
  9.         <meta name="viewport" content="width=device-width, initial-scale=1, maximun-scale=1">
  10.         <link rel="stylesheet" type="text/css" href="Estilo/ver_facturas.css">
  11.         <script type="text/javascript">
  12.            
  13.     function ordenar_facturas(id)
  14.     {
  15.     if      (id == "1asc"){document.getElementById('6').value= "Presupuesto ASC";}
  16.     else if (id == "1dsc"){document.getElementById('6').value= "Presupuesto DESC";}
  17.     else if (id == "2asc"){document.getElementById('6').value= "Evento ASC";}
  18.     else if (id == "2dsc"){document.getElementById('6').value= "Evento DESC";}
  19.     else if (id == "3asc"){document.getElementById('6').value= "Fecha ASC";}
  20.     else if (id == "3dsc"){document.getElementById('6').value= "Fecha DESC";}
  21.     else if (id == "4asc"){document.getElementById('6').value= "Factura ASC";}
  22.     else if (id == "4dsc"){document.getElementById('6').value= "Factura DESC";}
  23.     else if (id == "5asc"){document.getElementById('6').value= "Total ASC";}
  24.     else if (id == "5dsc"){document.getElementById('6').value= "Total DESC";}
  25.    var formulario_ordenar = document.getElementById('f1');
  26.    formulario_ordenar.submit();
  27.     }
  28.         </script>
  29.     </head>
  30.     <body>
  31.         <header>
  32.             <h1></h1>
  33.        
  34.             <?php
  35.                     //Cargo la variable con el año y el mes (ej: 2015-03)
  36.                    
  37.                     $var3 = $_POST['filtro_factura'];
  38.                     $var4 = "";
  39.                     //Genero la consulta de facturas excluyendo los presupuestos cancelados que son los que tienen como
  40.                     //valor de confirmación el 3. y recogiendo las facturas del periodo seleccionado en la variable $var3.
  41.                     $sql="SELECT
  42.                         Id_Presupuesto AS Id_Pre,
  43.                         Ref_Pres AS Presupuesto,
  44.                         DATE_FORMAT(fecha_fin,'%Y-%m') AS Evento,
  45.                         Confirmacion AS Estado,
  46.                         fecha_Factura AS Fecha,
  47.                         Fact_Numer AS Factura,
  48.                         Resultado AS Total
  49.                         FROM presupuestos
  50.                         WHERE Confirmacion <> '3' AND DATE_FORMAT(fecha_fin,'%Y-%m') LIKE'".$var3."'".$var4."";
  51.                     $cs=mysqli_query($cn,$sql);
  52.             ?>
  53.  
  54.                 <div class='factura'>
  55.                 <h2 class='titulodefactura'> Relación de facturas del <?php echo $var3 ?>
  56.                                
  57.                                 <input type='button' class='boton' value='Simplificadas'    onclick='abrir("descargar_fichero_simplificadas.php?key= <?php $var3 ?>")'>
  58.                                 <input type='button' class='boton' value='Ordinarias'       onclick='abrir("descargar_fichero_ordinarias.php?key=<?php $var3 ?>")'>
  59.                 </h2>
  60.                     <div class='cajadetitulos'>
  61.                                 <div class='titulos'>
  62.                                     <div class='caja_flecha'>
  63.                                             <input class='etiqueta' id='1' value= 'Presupuesto'>
  64.                                             <input class='flecha' id='1asc' value='▲' onclick= 'ordenar_facturas(this.id)'>
  65.                                             <input class='flecha' id='1dsc' value='▼' onclick= 'ordenar_facturas(this.id)'>
  66.                                     </div>
  67.                                 </div>
  68.  
  69.                                 <div class='titulos'>                                  
  70.                                         <div class='caja_flecha'>
  71.                                             <input class='etiqueta' id='2' value= 'Mes del evento'>
  72.                                             <input class='flecha' id='2asc' value='▲' onclick= 'ordenar_facturas(this.id)'>
  73.                                             <input class='flecha' id='2dsc' value='▼' onclick= 'ordenar_facturas(this.id)'>
  74.                                         </div>
  75.                                 </div>
  76.  
  77.                                 <div class='titulos'>
  78.                                         <div class='caja_flecha'>
  79.                                             <input class='etiqueta' id='3' value= 'Emitida el'>                                    
  80.                                             <input class='flecha' id='3asc' value='▲' onclick= 'ordenar_facturas(this.id)'>
  81.                                             <input class='flecha' id='3dsc' value='▼' onclick= 'ordenar_facturas(this.id)'>
  82.                                         </div>
  83.                                 </div>
  84.  
  85.                                 <div class='titulos'>                          
  86.                                         <div class='caja_flecha'>
  87.                                             <input class='etiqueta' id='4' value= 'Número'>
  88.                                             <input class='flecha' id='4asc' value='▲' onclick= 'ordenar_facturas(this.id)'>
  89.                                             <input class='flecha' id='4dsc' value='▼' onclick= 'ordenar_facturas(this.id)'>
  90.                                         </div>
  91.                                 </div>
  92.  
  93.                                 <div class='titulos'>                          
  94.                                         <div class='caja_flecha'>
  95.                                             <input class='etiqueta' id='5' value= 'Total'>
  96.                                             <input class='flecha' id='5asc' value='▲' onclick= 'ordenar_facturas(this.id)'>
  97.                                             <input class='flecha' id='5dsc' value='▼' onclick= 'ordenar_facturas(this.id)'>
  98.                                         </div>
  99.                                 </div>
  100.                     </div>
  101.                 </div>
  102.            
  103.         </header>
  104.         <nav>
  105.         </nav>
  106.         <section>
  107.             <form name='form_ordenar' id='f1' method ='POST' action= 'include(form_control.php class=''>
  108.                 <input  type=''       id='6'    name='' value=''>
  109.                 <input  type=''       id='7'    name='' value='filtro_factura'>
  110.                 <?php
  111.                     include('ver_facturas.php');
  112.                 ?>
  113.             </form>
  114.         </section>
  115.         <footer>
  116.         </footer>
  117.     </body>
  118. </html>


script2:
Código HTML:
Ver original
  1. <!DOCTYPE html>
  2.     <title></title>
  3.         <meta http-equiv="expires" content="Tue, 01 Jan 1980 1:00:00 GMT" />
  4.         <link   rel="stylesheet" type="text/css" href="Estilo/ver_facturas.css">
  5.         <script type="text/javascript">
  6.             function abrir(url)
  7.             {
  8.                 openedWindow= window.open(url,"Presupuestos");
  9.                 //openedWindow.close();
  10.             }
  11.             function refrescar(url)
  12.             {
  13.                 window.location=url;
  14.             }
  15.         </script>
  16. </head>
  17.  
  18.  
  19.     <?php      
  20.                
  21.  
  22.                 foreach ($_POST as $clave=>$valor)
  23.                     {
  24.                     echo "El valor de $clave es: $valor";
  25.                     }
  26.  
  27.  
  28.                 $var3 = $_POST['filtro_factura'];
  29.                 $var4 = "";
  30.                 //Genero la consulta de facturas excluyendo los presupuestos cancelados que son los que tienen como
  31.                 //valor de confirmación el 3. y recogiendo las facturas del periodo seleccionado en la variable $var3.
  32.                 $sql="SELECT
  33.                     Id_Presupuesto AS Id_Pre,
  34.                     Ref_Pres AS Presupuesto,
  35.                     DATE_FORMAT(fecha_fin,'%Y-%m') AS Evento,
  36.                     Confirmacion AS Estado,
  37.                     fecha_Factura AS Fecha,
  38.                     Fact_Numer AS Factura,
  39.                     Resultado AS Total
  40.                     FROM presupuestos
  41.                     WHERE Confirmacion <> '3' AND DATE_FORMAT(fecha_fin,'%Y-%m') LIKE'".$var3."'".$var4."
  42.                     ORDER BY Presupuesto";
  43.  
  44.             $cs=mysqli_query($cn,$sql);
  45.             //echo "<div class='factura'>";
  46.             /*  echo "<h2 class='titulodefactura'> Relación de facturas del ". $var3."
  47.                             &nbsp;&nbsp;
  48.                             <input type='button' class='boton' value='Simplificadas' onclick= abrir('descargar_fichero_simplificadas.php?key=".$var3."')>
  49.                             <input type='button' class='boton' value='Ordinarias' onclick= abrir('descargar_fichero_ordinarias.php?key=".$var3."')>
  50.                       </h2>";
  51.                 echo "<div class='cajadetitulos'>";  
  52.                             echo"<input class='titulos' id='1' value= 'Presupuesto'>"; 
  53.                             echo"<input class='titulos' id='2' value= 'Mes del evento'>";
  54.                             echo"<input class='titulos' id='3' value= 'Emitida el'>";
  55.                             echo"<input class='titulos' id='4' value= 'Número'>";
  56.                             echo"<input class='titulos' id='5' value= 'Total'>";                   
  57.                 echo "</div>";*/
  58.             echo "<div class='factura'>";
  59.                     while($row_resultado = mysqli_fetch_assoc($cs))
  60.                     {
  61.                         $producto = $row_resultado['Presupuesto'];
  62.  
  63.                         echo "<div cajadedatos>";
  64.                             echo"<input class='det_ref' value=".$row_resultado['Presupuesto']." onclick = abrir('form_principal.php?key=".$row_resultado['Id_Pre']."')>";
  65.                             echo"<input class='det_ref' value=".$row_resultado['Evento']." ondblclick = abrir('generar_llamada_facturas.php?key=".$row_resultado['Evento']."')>";
  66.                             echo"<input class='det' value=".$row_resultado['Fecha']         .">";
  67.                             echo"<input class='det' value=".$row_resultado['Factura']       .">";
  68.                             echo"<input class='det' value=".$row_resultado['Total']         .">";
  69.                         echo "</div>";                         
  70.                     }
  71.                
  72.             echo "</div>";
  73.     ?>
  74. </body>
  75. </html>

El parámetro para ordenar la consulta del scritp2 lo he dejado sin aplicar variable ya que de momento lo que necesito es que se pueda abrir este script2.
Espero haberme explicado correctamente.
Gracias.
  #2 (permalink)  
Antiguo 17/09/2016, 03:22
 
Fecha de Ingreso: noviembre-2005
Mensajes: 146
Antigüedad: 19 años
Puntos: 1
Respuesta: Lanzar formulario

Un paso adelante:
El problema es de PLANTEAMIENTO.
La llamada desde el formulario del script1 funciona, pero se deben enviar todos los parámetros que permitan a la pagina inicial que llamare script0 llamar al script1 con los mismos parámetros que tenía y llamar al script2 con los nuevos parámetros que permitirán obtener el resultado de la consulta en el orden deseado.
Comentaré algo cuando lo resuelva.
  #3 (permalink)  
Antiguo 17/09/2016, 10:27
 
Fecha de Ingreso: noviembre-2005
Mensajes: 146
Antigüedad: 19 años
Puntos: 1
Respuesta: Lanzar formulario

Bien. Está resuelto el problema.
Cuando el formulario del script1, objeto de la pregunta en el foro, se lanza debe incluir los parámetros que necesitamos hacer llegar al script0, script1 y scritp2 para poder ver el resultado de la consulta en el orden que deseamos.
Un saludo.

Etiquetas: formulario, funcion, html, input, lanzar, php, select, text, valor
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 08:28.