PHP - No enviar campo vacio [validación]

 
Vista:
sin imagen de perfil

No enviar campo vacio [validación]

Publicado por xerok09 (18 intervenciones) el 12/03/2014 19:39:28
Hola buenas. Ojalá alguien me pueda ayudar con lo siguiente:

Tengo un formulario php en el que necesito que el usuario no lo pueda enviar si no ingresa el nombre, mostrandole una alerta de lo sucedido. Para la validación estoy usando javascript.

El script es el suiguiente:

1
2
3
4
5
6
7
8
9
10
<script>
function verificar_campos() {
var text=document.forms[0].firstname.value.length;
if(text==0) {
document.forms[0].firstname.focus();
alert("Debes ingresar el nombre");
return false;
}
}
</script>


Y el botón de envio del fomulario es el siguiente:

1
<input type="button" name="submit" value="<?php echo ucfmsg('ENTER') ?>" onClick="verificar_campos()">

-----------------

El asunto es que al presionar el boton enviar, si el campo firstname está vacio, se ve una alerta que dice "Debes ingresar el nombre" y cancela el envio haciendo focus en el campo firstname. Hasta aqui todo bien...

Mi problema es que el rellenar el campo firstname si presiono el boton nuevamento no ocurre nada.

Agradeceré cualquier ayuda que me puedan dar... Estoy empezando en programación y he aprendido varias cosas pero me ésta es mi duda.

Saludos.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Alejandro
Val: 1.634
Plata
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

No enviar campo vacio [validación]

Publicado por Alejandro (840 intervenciones) el 12/03/2014 19:44:30
  • Alejandro se encuentra ahora conectado en el
  • chat de PHP
Solo agregale el submit()
1
2
3
4
5
6
7
8
9
10
11
12
<script>
function verificar_campos() {
    var text=document.forms[0].firstname.value.length;
    if(text==0) {
        document.forms[0].firstname.focus();
        alert("Debes ingresar el nombre");
        return false;
    }else{
        document.forms[0].submit();
    }
}
</script>
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

No enviar campo vacio [validación]

Publicado por xerok09 (18 intervenciones) el 12/03/2014 19:53:43
Gracias por tu respuesta.
También lo habia intentado pero igual no funciona...

Lo otro que hice fue cambiarle el "type"e al boton de enviar de -- "botton" a "submit" -- lo que ocaciona que tire el mensaje de que debe ingresar el nombre pero envie el formulario de todas formas...

No se como puedo hacerlo o cual es el error.....
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Alejandro
Val: 1.634
Plata
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

No enviar campo vacio [validación]

Publicado por Alejandro (840 intervenciones) el 12/03/2014 20:32:12
  • Alejandro se encuentra ahora conectado en el
  • chat de PHP
Tienes el detalle de name="submit" solo cambiale el nombre ya que submit es palabra reservada del lenguaje.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

No enviar campo vacio [validación]

Publicado por xerok09 (18 intervenciones) el 12/03/2014 20:51:42
Teniendo en cuenta el tema de name=submit (gracias por el dato) y cambiandolo a la siguiente forma:

<input type="submit" name="enter" value="<?php echo ucfmsg('ENTER') ?>" onClick="verificar_campos()">

me genera la advertencia por el nombre vacio y hace focus en nombre pero borra todos los otros datos del formulario -- también al colocar un nombre y presinar enviar borra todo lo escrito en el formulario y hace focus en nombre.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Alejandro
Val: 1.634
Plata
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

No enviar campo vacio [validación]

Publicado por Alejandro (840 intervenciones) el 12/03/2014 20:57:49
  • Alejandro se encuentra ahora conectado en el
  • chat de PHP
eque cambiaste el input de "button" a "submit", estas ejecuta la funcion y enviando el formulario sin importar la funcion.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

No enviar campo vacio [validación]

Publicado por xerok09 (18 intervenciones) el 12/03/2014 21:04:55
Tienes razón pero el problema es que al colocar el input como "button" si tengo el campo nombre vacio manda la alerta..todo bien.. pero con algo escrito en el nombre el botón no hace nada..
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Alejandro
Val: 1.634
Plata
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

No enviar campo vacio [validación]

Publicado por Alejandro (840 intervenciones) el 12/03/2014 21:12:29
  • Alejandro se encuentra ahora conectado en el
  • chat de PHP
¿que no te agrega al final de tu direccion? ?firstname="LO QUE ESCRIBISTE"

funciona correctamente, este es el codigo, pero lo que realmente cuenta es que lo entiendas.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<script>
function verificar_campos(){
    var text=document.forms[0].firstname.value.length;
    if(text==0) {
        document.forms[0].firstname.focus();
        alert("Debes ingresar el nombre");
        return false;
    }else{
        document.forms[0].submit();
    }
}
</script>
 
<form>
<input type="text" name="firstname" />
<input type="button" name="entrar" value="ENTER" onclick="verificar_campos()"/>
</form>
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
2
Comentar
sin imagen de perfil

No enviar campo vacio [validación]

Publicado por xerok09 (18 intervenciones) el 12/03/2014 21:59:19
El código funciona pero en mi documento no........ voy a tener que revisar que sucede...

Lo que pasa es que estoy trabajando en crear una agenda de contactos con php y mysql que al guardar un contacto con varios campos lo almacene en una base de datos. Todo me funciona sin problemas y quice agregarle validación y me entrampé..

Bueno Alejandro gracias por tu ayuda, ya quedó demostrado que el código funciona asi que el problema se debe solucionar de otra forma (no se como pero tendré que revisar...).

Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

No enviar campo vacio [validación]

Publicado por Adrian (7 intervenciones) el 12/03/2014 23:43:28
Ve comentando código hasta que des con la clave de que está pasando
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

No enviar campo vacio [validación]

Publicado por Xerok (18 intervenciones) el 17/03/2014 15:38:40
Al final solucioné mi problema de otra forma que encontre... igual de útil. Les dejo el como lo hice por si les sirve.

Desactivé el boton de enviar hasta que se llenaran los campos que necesitaba que fueran llenados.

SCRIPT:

1
2
3
4
5
6
7
8
9
10
11
<script language="javascript" type="text/javascript">
function campo_vacio()
   {
      if (document.getElementById('firstname').value=="")
      {
       document.getElementById('enviar').disabled=true;
      }
    else {
         document.getElementById('enviar').disabled=false;
         }
</scritp>

CAMPO (en mi caso)

1
<input type="text" name="firstname" id="firstname" value="<?php echoIfSet($addr, 'firstname'); ?>" size="35" onkeyup="campo_vacio()"/>

BOTON

1
<input type="submit" disabled="true" id="enviar" name="submit" value="Guardar" ">


*En el script se pueden agregar los campos que se necesiten completar para activar el boton.

Espero les sirva.
Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de xve
Val: 3.943
Oro
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

No enviar campo vacio [validación]

Publicado por xve (6935 intervenciones) el 17/03/2014 17:28:23
Gracias por compartirlo Xerok!!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

No enviar campo vacio [validación]

Publicado por ing fernando salgado (1 intervención) el 11/07/2016 04:37:06
ESTA BIEN ESTE EJEMPLO SI CORRE YA LO CONFIRME, LO ADAPTE A UN EJEMPLO QUE TENGO Y FUNCIONA DE MARAVILLA.

FELICIDADES
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Víctor
Val: 152
Ha disminuido su posición en 6 puestos en PHP (en relación al último mes)
Gráfica de PHP

No enviar campo vacio [validación]

Publicado por Víctor (192 intervenciones) el 12/07/2016 07:34:46
Hola:

Parece que lo tienes solucionado, pero no hubiera sido más fácil resolverlo a modo clásico:

En el formulario:
1
<input type="button" name="submit" value="<?php echo ucfmsg('ENTER') ?>" onClick="return verificar_campos()">
Se añade return antes de la llamada de la función
Y en script
1
2
3
4
5
6
7
8
9
10
11
12
<script>
     function verificar_campos() {
          var text=document.forms[0].firstname.value.length;
          if(text==0) {
               document.forms[0].firstname.focus();
               alert("Debes ingresar el nombre");
               return false;
          }
          return true;
     }
</script>
return true; si no se ha salido de la función en la linea 7
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

No enviar campo vacio [validación]

Publicado por AntonioMarcelin (1 intervención) el 14/06/2017 17:00:47
a mi me funciona con solo colocar required en el imput
1
<input type="file" name="foto" id="foto" accept="image/*" required/>
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar