Foros del Web » Programando para Internet » Javascript »

Comprobar formulario PHP + JS

Estas en el tema de Comprobar formulario PHP + JS en el foro de Javascript en Foros del Web. Hola, tengo un problema en mi código y no se exactamente cual es. Se trata de un formulario en HTML + PHP que al presionar ...
  #1 (permalink)  
Antiguo 28/05/2007, 04:16
Avatar de Nietzsche  
Fecha de Ingreso: enero-2005
Ubicación: MALAGA-ESPAÑA
Mensajes: 228
Antigüedad: 19 años, 3 meses
Puntos: 0
Comprobar formulario PHP + JS

Hola, tengo un problema en mi código y no se exactamente cual es.
Se trata de un formulario en HTML + PHP que al presionar el botón "Enviar" (O una imagen con la palabra "Añadir" en este caso, ya que añade coches a una BBDD) se lanza una funcion de comprobacion en JavaScript y si están rellenos los campos obligatorios debería insertar en la BBDD, sino no.

El codigo PHP:

Código PHP:
...
...
<
tr>
   <
td colspan="2">Foto int.:</td>
   <
td colspan="2"><input type="file" name="interior" value=""></td>
</
tr>
<
tr>
   <
td colspan="2">Foto atrás:</td>
   <
td colspan="2"><input type="file" name="trasera" value=""></td>
</
tr>
<
tr>
   <
td colspan="4"><br><input name="enviar" type="image" id="enviar" onclick="comprobar();" title="Añadir coche" src="images/anadir-coche.jpg" alt="Añadir coche"/></td>
</
tr
El caso es que si alguno de los campos obligatorios no esta rellenado da el error, pero aun así inserta en la BBDD.

Código JS:

Código:
// Funcion que valida los campos obligatorios
function comprobar(){ 
    var mal=false; 
    with (document.forms[0]){ 
     numero = elements.length; 
     for (a = 0; a < numero; a++){ 
      if ((elements[a].name == "sel_marca") || (elements[a].name == "modelo") || (elements[a].name == "precio") || (elements[a].name == "color"))
		{ 
       	if ((elements[a].value == "") || (elements[a].value == "default"))
			{ 
        	elements[a].style.backgroundColor = "#ffffcc"; 
        	mal = true; 
       		} 
		else 
			{ 
        	elements[a].style.backgroundColor = "white"; 
       		} 
      	}
     } 
     if (mal) 
      alert("Por favor, rellene las cajas coloreadas"); 
     else 
      submit(); 
    } 
   }
A ver si alguien me echa una mano.

Gracias y saludos!
__________________
Salud y libertad
  #2 (permalink)  
Antiguo 28/05/2007, 04:28
Avatar de jerkan  
Fecha de Ingreso: septiembre-2005
Mensajes: 1.607
Antigüedad: 18 años, 7 meses
Puntos: 19
Re: Comprobar formulario PHP + JS

Despues de hacer el alert deberías poner un 'return false;'
  #3 (permalink)  
Antiguo 28/05/2007, 04:44
Avatar de Nietzsche  
Fecha de Ingreso: enero-2005
Ubicación: MALAGA-ESPAÑA
Mensajes: 228
Antigüedad: 19 años, 3 meses
Puntos: 0
Re: Comprobar formulario PHP + JS

Hola,
he cambiado el código como me dices:

Código:
     if (mal) {
      alert("Por favor, rellene las cajas coloreadas"); 
      return false;
      }
     else 
      submit(); 
    }
Y sigue ocurriendo lo mismo
__________________
Salud y libertad
  #4 (permalink)  
Antiguo 28/05/2007, 04:50
Avatar de jerkan  
Fecha de Ingreso: septiembre-2005
Mensajes: 1.607
Antigüedad: 18 años, 7 meses
Puntos: 19
Re: Comprobar formulario PHP + JS

En el atributo onclick del tag input pon:
Código HTML:
onclick="return comprobar();"
  #5 (permalink)  
Antiguo 28/05/2007, 05:00
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Re: Comprobar formulario PHP + JS

Hola:

Poner en la función javascript la instrucción submit() fuerza el envío del formulario, y se dejan de evaluar las alternativas.
Los input type="image" son una especie de variante del tipo submit (envían el formulario y añaden en el envío las coordenadas donde se ha pulsado), así que esa comprobación/validación deberías hacerla desde el mismo tag form, devolviendo false para cancelar y true para validar...

<form onsubmit="return comprobar(this)"...

y tu "comprobar" más o menos así:

Código:
if (mal) 
      alert("Por favor, rellene las cajas coloreadas"); 
return !mal;
Por cierto, no veo nada de php

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #6 (permalink)  
Antiguo 28/05/2007, 05:09
Avatar de Nietzsche  
Fecha de Ingreso: enero-2005
Ubicación: MALAGA-ESPAÑA
Mensajes: 228
Antigüedad: 19 años, 3 meses
Puntos: 0
Re: Comprobar formulario PHP + JS

Muchas gracias, ya funciona.

Si, la verdad es que este tema deberia ir en Javascript más que en PHP
__________________
Salud y libertad
  #7 (permalink)  
Antiguo 28/05/2007, 05:12
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Re: Comprobar formulario PHP + JS

Cita:
Iniciado por Nietzsche Ver Mensaje
Muchas gracias, ya funciona.

Si, la verdad es que este tema deberia ir en Javascript más que en PHP
Me alegro.

De todas maneras ya lo he reportado, así que en cuanto algún moderador pueda, moverán el mensaje.

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #8 (permalink)  
Antiguo 28/05/2007, 11:36
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 19 años, 9 meses
Puntos: 102
Re: Comprobar formulario PHP + JS

Cita:
Iniciado por caricatos Ver Mensaje
De todas maneras ya lo he reportado, así que en cuanto algún moderador pueda, moverán el mensaje.
Saludos caricatos .

Hay que ganarse el sueldo... Tema movido desde PHP
__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"
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 02:58.