Foro de elhacker.net

Programación => Desarrollo Web => Mensaje iniciado por: sk1pp3r en 29 Octubre 2012, 19:09 pm



Título: Como Mandar instrucción POST a un frame?
Publicado por: sk1pp3r en 29 Octubre 2012, 19:09 pm
Que tal,

tengo una duda que no logro hacerla funcionar.

Tengo una pagina web asi:

-----------------------------------------------------------------------------------------|
|ENCABEZADO                                                                                          |
|                 buscador----                                                                           |
| Formulario con 2 cuadros texto para ingresar nombre de archivo a buscar.  |
|  Con 2 botones, BUSCAR y Limpiar. Buscar llama a Busqueda.php              |
|                                                                                                              |
|_______________________________________________________________|
|                                                                                                              |
|                                                                                                              |
|Quiero mostrar el resultado de BUSCAR AQUI....                                        |
|               SIN QUE SE RECARGUE NUEVAMENTE FRAME SUPERIOR              |
|                  O SEA QUE NO SE ACTUALIZE                                                |
|                                                                                                              |
|_______________________________________________________________|

Este es el  index y tengo creados los 2 frames. Este es el codigo:

Código:
<HTML>
<HEAD><TITLE> Busqueda imagenes</TITLE></HEAD>

    <FRAMESET ROWS="54, 70" scrolling="no" BORDERCOLOR="000000" NORESIZE FRAMEBORDER="yes">

<FRAME SRC="Top.php" NAME="left"> <!-- Top.php Contiene el form para buscar... y tmb llama a Busqueda.php -->

<FRAME SRC="" NAME="right">  <!-- Quiero que en este frame muestre el resultado de enviar el form de arriba -->
</FRAMESET>

</HTML>

Actualmente con este codigo me muestra bien el buscador y el frame vacio, pero cuando le doy a buscar me da el resultado de buscar en el mismo frame, y la idea es que lo muestre en el frame de abajo para agilizar las busquedas.

Como se le puede dar esa instrucción? Saludos y gracias...


Título: Re: Como Mandar instrucción POST a un frame?
Publicado por: #!drvy en 30 Octubre 2012, 17:22 pm
Tendrias que usar javascript. Con un evento onclick puedes "transladar" el formulario de una frame a otro (Con transladar me refiero a la respuesta).

Supongamos que tienes una pagina asi.

Index.html
Código
  1. <HEAD><TITLE> Busqueda imagenes</TITLE></HEAD>
  2.    <FRAMESET ROWS="54, 70" scrolling="no" BORDERCOLOR="000000" NORESIZE FRAMEBORDER="yes">
  3.      <FRAME SRC="formulario.html" NAME="left">   <!-- Top.php Contiene el form para buscar... y tmb llama a Busqueda.php -->
  4.      <FRAME SRC="recibir.php" NAME="right">  <!-- Quiero que en este frame muestre el resultado de enviar el form de arriba -->
  5.   </FRAMESET>
  6. </HTML>

Lo que harias en formulario.html (Top.php) seria indicar que quieres que el elemento form retorne a right (el nombre del segundo frame). Ahora supongamos que en formulario.html (Top.php) tengo lo siguente:

Código
  1. <form action="recibir.php" name="miFormulario" method="POST" onSubmit="document.miFormulario.target = 'right';return true;">
  2.   <input type="text" name="nombre" />
  3.   <input type="submit" value="Enviar" />
  4. </form>

Presta atencion a
Código
  1. onSubmit="document.miFormulario.target = 'right';return true;"

Le decimos que el destino del formulario es el nombre del segundo frame (right).

PD: De todos modos deberías ir pensando en usar ajax.. le dará una mejor imagen a tu pagina.


Saludos


Título: Re: Como Mandar instrucción POST a un frame?
Publicado por: sk1pp3r en 30 Octubre 2012, 18:01 pm
Vientos!

Lo haria con javascript pero la vrd no se programar.

El unico inconveniente que tengo con tu código es que al abrir Index.html me muestra el frame del form correcto y el frame de recibir.php incorrecto. Ya que como se esta cargando desde el inicio sin antes recibir el dato de búsqueda (dato que se tiene que capturar en el form).

Y no encuentro alguna propiedad para que me muestre el frame 2 en blanco.


Otra cosa, en tu opinion tu como armarias un buscador de ficheros en mi pc con interfaz web?

Algo como esto:
-----------------------------------------------------------------------------------------|
|ENCABEZADO                               FRAME1                                                |
|                 buscador----                                                                           |
| Formulario con 2 cuadros texto para ingresar nombre de archivo a buscar.  |
|  Con 2 botones, BUSCAR y Limpiar. Buscar llama a Busqueda.php              |
|                                                                                                              |
|_______________________________________________________________|
|                                                                            FRAME2                       |
|                                                                                                              |
|Quiero mostrar el resultado de BUSCAR AQUI....                                        |
|               SIN QUE SE RECARGUE NUEVAMENTE FRAME SUPERIOR              |
|                  O SEA QUE NO SE ACTUALIZE                                                |
|                                                                                                              |
|_______________________________________________________________|


Segun yo tengo pensado esto:
En Frame1 tener el form para solicitar datos a buscar, ya sea por nombre, por extención y/o por fecha. Sin usar comodines ni nada de eso. Luego al darle a "BUSCAR" que en
Frame2 muestre el o los archivos  encontrados. Y que de la opción de ir seleccionando el archivo o los archivos deseados para ir apilandolos.

Ya al final de la búsqueda y de tener los archivos seleccionados contar con la opción de enviar por correo.

Supongo que con puro PHP y HTML nomas no la voy a armar.

Saludos y gracias.


Título: Re: Como Mandar instrucción POST a un frame?
Publicado por: #!drvy en 30 Octubre 2012, 18:13 pm
Hola,

Citar
El unico inconveniente que tengo con tu código es que al abrir Index.html me muestra el frame del form correcto y el frame de recibir.php incorrecto. Ya que como se esta cargando desde el inicio sin antes recibir el dato de búsqueda (dato que se tiene que capturar en el form).

Deja el SRC en blanco. Puesto que el form tiene indicado el action (a donde ir) no hace falta que se pre-cargue antes de recibir los datos.

De todas formas, seria agradable poner una pagina de bienvenida o algo =)

Citar
Supongo que con puro PHP y HTML nomas no la voy a armar.

Puedes hacerlo con puro PHP y HTML/CSS. Lo que pasa es que quedara un tanto.. "estático". Deberías mirarte algunos tutoriales de javascript y en especial el poder de jQuery (libreria javascript). Te simplificaran muchas cosas y ajax con jquery es cuestión de 3 lineas.

PD: Sobre como lo haría yo.. yo diría que es cuestión de gustos. Pero lo que haría seria como un motor en PHP (un archivo que se encargue de "todo") y luego lo iría llamando y procesando con ajax todo en la misma pagina.


Saludos


Título: Re: Como Mandar instrucción POST a un frame?
Publicado por: sk1pp3r en 30 Octubre 2012, 18:41 pm
Vale, muchas gracias por tu ayuda y opinion.

Saludos!