PHP - No enviar campo vacio [validación]

   
Vista:

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

No enviar campo vacio [validación]

Publicado por Alejandro (198 intervenciones) el 12/03/2014 19:44:30
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

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

No enviar campo vacio [validación]

Publicado por Alejandro (198 intervenciones) el 12/03/2014 20:32:12
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

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

No enviar campo vacio [validación]

Publicado por Alejandro (198 intervenciones) el 12/03/2014 20:57:49
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

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

No enviar campo vacio [validación]

Publicado por Alejandro (198 intervenciones) el 12/03/2014 21:12:29
¿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

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

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

No enviar campo vacio [validación]

Publicado por xve (5520 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 fmm_sistemas@hotmail.com (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

No enviar campo vacio [validación]

Publicado por Víctor (171 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