FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
||||
|
||||
Obtener lista de elementos de un form
Hola foro,
necesito obtener la lista de los elementos de un formulario (el "document.forms[x].elements" de javacript), pero no encuentro la forma de hacerlo en php. Es posible? Gracias |
#2
|
||||
|
||||
Hola, aom.
En este ejemplo se añade el nombre de todos los componentes en un ListBox: Código PHP:
__________________
Lo importante no es saber, sino tener el e-mail del que sabe. |
#3
|
||||
|
||||
Ese ejemplo no aplica para PHP
Mira a ver si te sirve la funcion each (en ASP, se hacia facil con un for each item in request.form), asi que debe ser equivalente.
__________________
Héctor Geraldino Software Engineer |
#4
|
||||
|
||||
¡Oops!
Siempre miro los mensajes desde la opción "mensajes nuevos" y no me di cuenta que este era del Foro de PHP. Siento no poder ayudar en esto, yo en PHP estoy muy escasito. Saludos,
__________________
Lo importante no es saber, sino tener el e-mail del que sabe. |
#5
|
||||
|
||||
Hola,
gracias por contestar (a los 2 ) La función each en php no funciona igual que en asp. He estado revisando la documentación en Internet pero sigo sin ver la forma de hacerlo. Se le ocurre a alguien? Gracias |
#6
|
|||
|
|||
Hola
Depende del metodo que utilices para mandar el formulario (POST o GET) debes consultar los Arrays: - $PHP_POST_VARS (o $_POST ) para el metodo POST. - $PHP_GET_VARS ( o $_GET ) para el metodo GET. Como indice del array tienes el nombre del campo del formulario y como valor el valor del mismo campo. Con el siguiente codigo obtendrias el nombre del campo y su valor en el caso del metodo POST: <? ... foreach( $PHP_POST_VARS AS $k => $v ) { echo "$k => $v<br>"; } ... ?> Última edición por kayetano fecha: 26-05-2003 a las 11:30:09. |
#7
|
||||
|
||||
Hola Kayetano, gracias por responder.
Tu solución no me sirve para lo que necesito hacer. Te explico: Estoy haciendo un formulario donde el cliente indica un nº de serie de una máquina. Lo que quiero hacer es simular un campo calculado de Delphi, y cuando indique el número de serie rellenar una serie de campos con información sobre este equipo. Si abro una segunda ventana si que se devolver unos valores a unos campos mediante JavaScript (docuent.forms[x].elements[NombreCampo]), pero aquí de momento no lo quiero hacer así. Espero haberme explicado bien, gracias por la ayuda |
#8
|
|||
|
|||
Hola
Vayamos por partes. El PHP se ejecuta en el servidor y no en el cliente por lo que para que puedas tratar cualquier formulario en PHP hay que mandarlo al servidor y que este lo interprete. Por lo tanto lo que tu pides se hace algo complicado. Yo te plantearia varias soluciones: - Recargar la pagina: Si cada vez que seleccionas un articulo recargas la pagina podras dar las caracteristicas del articulo. Este sistema hace que la pagina se haga muy lenta y empachosa. - Usar frames: en uno muestras el formulario y en otro (que se debe recargar cuando se selecciona un producto) muestras las especificaciones del producto. En mi opinion la mas facil de programar pero no de diseñar, no me gustan los diseños con frames - Usar iframes: Lo mismo que el caso anterior pero con IFRAME. IFRAME es incompatible con NETSCAPE ( usa ILAYER). - Trabajar con la propiedad innerHTML de cualquier objeto. Con este metodo te puedes quedar con la peña esta muy bien pero solo es compatible con Explorer. Ademas es un poco rollo ( a menos como yo lo hago ) El orden de las opciones es el que te aconsejo, de mas facil a mas dificil. Si te interesa la tercera opcion me lo haces saber y te lo explico. |
#9
|
||||
|
||||
Hola Kayetano,
me puedes explicar que es el innerHTML? Otra opción es abrir una ventana (¿puede ser invisible?) donde ejecute la sentencia sql para el nº de serie que me den, cerrarla automáticamente y devolver los valores, pero creo q es un poco chapuza y de momento busco otras soluciones. Gracias |
#10
|
||||
|
||||
Hola, he leido un par de veces tu pregunta y creo entender que lo que pretendes es que al introducir un valor (número de serie) en
uno de los campos de tu formulario se muestre en la celda de al lado el nombre de la máquina que corresponde a ese número de serie. Si lo he entendido bien, yo eso lo hago abriendo una ventana que contiene un formulario de búsqueda, seleccionando el registro que y devolviendo los valores, pero como parece ser que no quieres abrir ventanas, pudes hacerlo, aprovechando el evento OnChange de los INPUT, OnBlur también te serviría pero tenemos que quedarnos con alguno Lo primero es crear tu formulario. Código PHP:
una función a la cual seteo las variables que necesite y por ultimo hago un form.submit(); Nota: que no te confunda $objeto->num_serie con el resultado de una query, $objeto se supone que previamente lo hemos creado con $objeto New MiClase(); si no usas clases cambia $objeto->num_serie por $num_serie a pelo. </form> A continuación metemos un IFRAME, (ya te comentan por ahí que el IFRAME sólo funciona con IE, pero si es para Intranet no creo que eso sea un problema. Código PHP:
Código PHP:
que a su vez es llamada por el IFRAME. // Fin formulario.php // Inicio chivato.php Este fichero será el que escribirá en en innerText de tus span. Código PHP:
// Fin chivato.php Espero que te sirva. Saludos Emilio. |
#11
|
||||
|
||||
Hola Emilio,
de hecho si que estoy utilizando ventanas de búsqueda, pero cuando el usuario pulsa un botón. Si ya conoce el número de serie quiero que haga el efecto de un campo calculado. Probaré tu solución, aunque parece que es perfecto para lo que quiero. Muchas gracias por la ayuda |
#12
|
|||
|
|||
Hola
Aqui va un pequeño ejemplo de como puedes utilizar el innerHTML Código PHP:
|
#13
|
||||
|
||||
Hola Kayetano,
tu solución del innerHTML es perfecta, pero necesito pasarle como parámetro el valor del nº de serie. Es posible? Gracias |
#14
|
|||
|
|||
Hola
No problem. Con javascript obtienes el valor del desplegable, donde seleccionas el articulo, con el evento "onchange" y lo pasa como GET. Código:
<select onchange="valor=this.value"> ... </select> Código:
<input type="button" value="Prueba" onclick="script.src = 'include_script_js.php?id='+valor;" ¡¡ ESTE CODIGO NO ESTA PROBADO !! Simplemente es un pequeño ejemplo orientativo. |
#15
|
||||
|
||||
Hola Kayetano,
he estado probando el código y funciona perfectamente. Muchas gracias por todo |
#16
|
||||
|
||||
Hola
Kayetano, en esta ocasión debo decir que me parece realmente ingenioso el tema de tu include_script_js.php si no tiene copyright by Kayetano igual hasta lo uso para alguna que otra cosilla Saludos Emilio |
#17
|
|||
|
|||
Gracias, y por supuesto puedes usarlo cuando quieras.
¡¡ IMPORTANTE !! Este script es compatible con EXPLORER y a partir de su version 5. |
|
|
|