FTP | CCD | Buscar | Trucos | Trabajo | Foros |
#1
|
|||
|
|||
Formulario
hola,
quiero hacer un pequeño formulario, donde haya una serie de checkboxes y un boton que cuando le de, se vaya a una funcion, que compruebe que hay al menos un checkbox seleccionado, que consulte en la base de datos aquellos campos que he seleccionado con los checkboxes y los muestra por pantalla. pero no se como hacerlo, el resultado de la consulta quiero que se muestre en el misma página, es decir, debajo del formulario. Gracias |
#2
|
||||
|
||||
Hola halizia, si lo que deseas es que los datos se muestrn abajo del formulario deberás hacer uso de Ajax, ya que es la única forma(al menos que conozco) en que puede interactuar php-javascript, ya que el primero será el que haga la conexión a la base de datos y el último validará los checkboxes.
Ajax no es nada complicado, puedes revisar este truco que he colocado en la sección de trucos del club en el cual muestro como crear un pequeño formulario de contacto utilizando Ajax. El formulario podría ser así: Código:
<form name="frm"> <input type="checkbox" name="checkbox1" value="1" />Checkbox1<br> <input type="checkbox" name="checkbox2" value="2" />Checkbox2<br> <input type="checkbox" name="checkbox3" value="3" />Checkbox3<br> <input type="button" name="button" value="Enviar" onClic="validar();" /> </form> Código:
function validar(){ if (document.frm.checkbox1.checked==true || document.frm.checkbox2.checked==true || document.frm.checkbox3.checked==true){ enviar(); } else { alert('Debes seleccionar al menos una casilla'); } } Código:
var obj; var div; var pVars; function crearObjeto() { if (window.XMLHttpRequest) { return new XMLHttpRequest(); } else if (window.ActiveXObject) { return new ActiveXObject("Microsoft.XMLHTTP"); } } function procesar(){ pVars = '&cb1='+encodeURI(document.frm.checkbox1.checked); pVars += '&cb2='+encodeURI(document.frm.checkbox2.checked); pVars += '&cb3='+encodeURI(document.frm.checkbox3.checked); obj=crearObjeto(); obj.onreadystatechange = cambio; obj.open("POST",'script.php', true); obj.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded'); obj.send(pVars); } function cambio(){ div = document.getElementById("rdiv"); if(obj.readyState == 4){ div.innerHTML = obj.responseText; } else { div.innerHTML='Cargando...'; } } Ahora, en el script php deberás tomar los datos enviados utilizando el método post, mas o menos de la siguiente manera: Código PHP:
Espero te sirva de algo. Saludo. |
#3
|
|||
|
|||
Gracias por tu ayuda, pero me da error, yo lo he puesto todo en un mismo fichero y no hace nada :S
|
#4
|
||||
|
||||
Hola,
Arriba, el compañero Darwin, no ha tratado de ponerte un ejemplo "que funcione", sino más bien, darte una serie de ideas válidas para que tú pudieras continuar adelante. Es decir, no se trataba de copiar y pegar el código en un archivo: eso no va a funcionar, obviamente. Ayer topé con una traducción al español de cierto artículo sobre AJAX... tal vez quisieras echarle un vistazo. Por otro lado, en estos Foros, decir que algo "te da error" y que "no hace nada" no significa mucho, más bien todo lo contrario. Siempre hay mensajes de error (o casi siempre, vaya) y los programas siempre hacen algo (o casi siempre) aunque no sea lo que esperamos. Si pretendes conseguir ayuda, por favor, expláyate y describe el problema lo mejor que puedas. |
#5
|
|||
|
|||
pues siento decirte q no hace nada
ejecuto el fichero, despues de arreglar algun que otro fallo, y al pulsar el boton (habiendo señalado previamente algun checkbox)no muestra ninguna advertencia ni escribe nada en pantalla. Saludos |
#6
|
||||
|
||||
Hola halizia, porque no pones todo el código del fichero que has creado con lo que doy arriba para revisarlo y ver que es lo que está dando problema.
Saludos. |
#7
|
||||
|
||||
Hola,
Yo añadiría que si el error "no se ve"... tendremos que intentar que esto no ocurra así. En Firefox (que es el navegador en que suelo probar este tipo de cosas) cuentas con extensiones que te facilitan la tarea de desarrollo, y, entre otras, está FireBug, que, probablemente, te ofrecerá información sobre errores (además de otras cosas) que, aparentemente, acaso, no se muestran. Me consta que para otros navegadores existen otras herramientas, o que, en todo caso, pueden configurarse los navegadores para que fuerzen los errores de JavaScript, por ejemplo,... tendrías que investigar un tanto sobre esto: cómo depurar errores de JavaScript en los navegadores que suelas utilizar. |
#8
|
||||
|
||||
Ahora que lo mencionas David, creo que todos los navegadores traen con sigo una "Consola Javascript" desde la que se pueden ver las advertencias, errores, etc... del lenguaje.
En mi firefox se encuentra en "Tools->JavaScript Console" Saludos. |
#9
|
||||
|
||||
Hola,
Cita:
|
#10
|
||||
|
||||
Cita:
Saludos. |
#11
|
||||
|
||||
Hola,
Cita:
|
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Se ve el formulario | jorllazo | Varios | 2 | 25-09-2006 19:11:48 |
Formulario | fevimo | PHP | 3 | 21-09-2006 20:30:32 |
Formulario MDI e Hijos | chux | OOP | 7 | 07-12-2005 21:19:14 |
pasar datos de un formulario vista a cualquier formulario | @-Soft | OOP | 2 | 28-09-2004 21:56:01 |
formulario MDI | joanajj | Varios | 5 | 24-07-2004 01:50:37 |
|