Foros del Web » Programando para Internet » Javascript »

Problemas al validar formulario confirm

Estas en el tema de Problemas al validar formulario confirm en el foro de Javascript en Foros del Web. Buenas tardes, Estoy tratando de validar un formulario para que la gente rellene los campos. Hasta aquí todo correcto, si el campo está vacío sale ...
  #1 (permalink)  
Antiguo 07/10/2010, 08:17
 
Fecha de Ingreso: abril-2008
Ubicación: Barcelona
Mensajes: 99
Antigüedad: 16 años
Puntos: 0
Problemas al validar formulario confirm

Buenas tardes,


Estoy tratando de validar un formulario para que la gente rellene los campos. Hasta aquí todo correcto, si el campo está vacío sale un alert y no le deja continuar.

El problema es el siguiente: el campo id es opcional no es obligatorio pero deseo que si este se encuentra vacío aparezca un confirm para recordarle que está vacío y le pregunte si es correcto. Si pincha ok le tiene que dejar, sino que regrese y lo introduzca. Pues bien yo no consigo hacerlo.

Este es el código:
Código:
function valida_envia(){
    //valido el numero entrante/saliente
    if (document.form.nnnn.value.length==0){
        alert("Tiene que escribir el número entrante o saliente de la llamada")
        document.form.nnnn.focus()
        return 0;
    }

  
    
    //valido el id de llamada no vacío
    if (document.form.id.selectedIndex==0){
        confirm("¿Es correcto id llamada en blanco?")
        return 0;
    }    

    //el formulario se envia
    document.nuevallamada.submit();
}
¿Quñe hago mal? ¿Alguien me puede ayudar?

Gracias,
Lino
  #2 (permalink)  
Antiguo 07/10/2010, 08:47
 
Fecha de Ingreso: junio-2010
Mensajes: 76
Antigüedad: 13 años, 10 meses
Puntos: 2
Respuesta: Problemas al validar formulario confirm

Usa la metodologia de html mejor tal que asi:
<form action='loqsea' method='loquesea' onsubmit='return(valida_eniva)'>
..............
.................
..............
<input type='submit' value='enivar'/>
</form>


function valida_envia(){
//valido el numero entrante/saliente
if (document.form.nnnn.value.length==0){
alert("Tiene que escribir el número entrante o saliente de la llamada")
document.form.nnnn.focus()
return false;
}

//valido el id de llamada no vacío
if (document.form.id.selectedIndex==0){
var res = confirm("¿Es correcto id llamada en blanco?");
if(res=true)
return true
else
return false

}

}
  #3 (permalink)  
Antiguo 07/10/2010, 08:58
Avatar de CHuLoSoY  
Fecha de Ingreso: febrero-2002
Ubicación: Ribeira (Galicia)
Mensajes: 1.900
Antigüedad: 22 años, 2 meses
Puntos: 29
Respuesta: Problemas al validar formulario confirm

Con tu mismo código:

Código Javascript:
Ver original
  1. //valido el id de llamada no vacío
  2.     if (document.form.id.selectedIndex==0){
  3.         if(!confirm("¿Es correcto id llamada en blanco?")) {
  4.         return 0;
  5.         }
  6.     }
__________________
ESQUIO Dominios y Hosting
Las mejores características con los mejores precios.
  #4 (permalink)  
Antiguo 07/10/2010, 08:59
Avatar de _cronos2
Colaborador
 
Fecha de Ingreso: junio-2010
Mensajes: 2.062
Antigüedad: 13 años, 10 meses
Puntos: 310
Respuesta: Problemas al validar formulario confirm

Cita:
Iniciado por Jokuto Ver Mensaje
Usa la metodologia de html mejor tal que asi:
<form action='loqsea' method='loquesea' onsubmit='return(valida_eniva)'>
..............
.................
..............
<input type='submit' value='enivar'/>
</form>


function valida_envia(){
//valido el numero entrante/saliente
if (document.form.nnnn.value.length==0){
alert("Tiene que escribir el número entrante o saliente de la llamada")
document.form.nnnn.focus()
return false;
}

//valido el id de llamada no vacío
if (document.form.id.selectedIndex==0){
var res = confirm("¿Es correcto id llamada en blanco?");
if(res=true)
return true
else
return false

}

}
Bueno, no es exactamente así. Tienes razón en enviar el form con un submit, pero es return valida_envia() . Después, en la función, si te das cuenta estás asignando el valor true a res, y no comparando. Por tanto, sería ==. Pero para que un if se ejecute, la condición debe ser true, por tanto no hace falta poner ==true, vale con poner if(res) . Luego, si res es true devolvemos true, y si es false, devolemos false, por tanto devolvemos res, o sea que podemos poner perfectamente return res . Pero si hemos llegado hasta ahí, ¿para qué queremos el confirm en una variable? Ponemos directamente return confirm("¿Es correcto id llamada en blanco?") . Voy a poner esto paso por paso:
Código Javascript:
Ver original
  1. //Paso 1
  2. if (document.form.id.selectedIndex==0){
  3.  var res = confirm("¿Es correcto id llamada en blanco?");
  4.  if(res==true)
  5.   return true
  6.  else
  7.   return false
  8. }    
  9. //Paso 2
  10. if (document.form.id.selectedIndex==0){
  11.  var res = confirm("¿Es correcto id llamada en blanco?");
  12.  if(res)
  13.   return true
  14.  else
  15.   return false
  16. }    
  17. //Paso 3
  18. if (document.form.id.selectedIndex==0){
  19.  var res = confirm("¿Es correcto id llamada en blanco?");
  20.  return res;
  21. }
  22. //Paso 4
  23. if (document.form.id.selectedIndex==0){
  24.  return confirm("¿Es correcto id llamada en blanco?");
  25. }

Saludos (:

Edit: Me acabo de dar cuenta de que el confirm no lo quieres para comprobar si quieren enviar el formulario o no, sino para saber si dejan en blanco un campo. Usa el código de @CHuLoSoY.
__________________
" Getting older’s not been on my plans
but it’s never late, it’s never late enough for me to stay. "
Cigarettes - Russian Red
  #5 (permalink)  
Antiguo 07/10/2010, 09:12
 
Fecha de Ingreso: abril-2008
Ubicación: Barcelona
Mensajes: 99
Antigüedad: 16 años
Puntos: 0
Respuesta: Problemas al validar formulario confirm

Buenas tardes,

Gracias a todos por responder pero hago lo indicado y nada no me aparece el confirm si el campo id está vacío.

¿Qué sucede?


Por cierto al enviar el formulario lo hago así:
Código:
    <input type="button" name="Enviar" id="Enviar" value="Enviar" onClick="valida_envia()">

Gracias ;)
  #6 (permalink)  
Antiguo 07/10/2010, 11:41
Avatar de _cronos2
Colaborador
 
Fecha de Ingreso: junio-2010
Mensajes: 2.062
Antigüedad: 13 años, 10 meses
Puntos: 310
Respuesta: Problemas al validar formulario confirm

Cita:
Iniciado por _cronos2
...Tienes razón en enviar el form con un submit, pero es return valida_envia() ....
__________________
" Getting older’s not been on my plans
but it’s never late, it’s never late enough for me to stay. "
Cigarettes - Russian Red
  #7 (permalink)  
Antiguo 07/10/2010, 15:08
 
Fecha de Ingreso: abril-2008
Ubicación: Barcelona
Mensajes: 99
Antigüedad: 16 años
Puntos: 0
Respuesta: Problemas al validar formulario confirm

Gracias ;) pero eso no me solventa el problema, me sigue sin aparecer el confirm cuando id está vacío.

:(
  #8 (permalink)  
Antiguo 07/10/2010, 15:13
Avatar de _cronos2
Colaborador
 
Fecha de Ingreso: junio-2010
Mensajes: 2.062
Antigüedad: 13 años, 10 meses
Puntos: 310
Respuesta: Problemas al validar formulario confirm

Postea el código como lo tengas, porque a mí sí me funciona
__________________
" Getting older’s not been on my plans
but it’s never late, it’s never late enough for me to stay. "
Cigarettes - Russian Red
  #9 (permalink)  
Antiguo 07/10/2010, 15:27
 
Fecha de Ingreso: abril-2008
Ubicación: Barcelona
Mensajes: 99
Antigüedad: 16 años
Puntos: 0
Respuesta: Problemas al validar formulario confirm

No lo dudo pero a mi no :(

En el formulario
Código:
<input type="button" name="Enviar" id="Enviar" value="Enviar" 
onClick="valida_envia()">

Validación
Código:
function valida_envia(){
	//valido el numero entrante/saliente
	if (document.form.numeroentrante.value.length==0){
		alert("Tiene que escribir el número entrante o saliente de la llamada")
		document.form.numeroentrante.focus()
		return 0;
	}
	
	//valido el id de llamada no vacío
	if (document.form.id.selectedIndex==0){
        if(!confirm("¿Es correcto id llamada en blanco?")) {
        document.form.id.focus()
		return 0;
        }
	}	

	//el formulario se envia
	document.form.submit();
}

Graciasss
  #10 (permalink)  
Antiguo 07/10/2010, 15:40
Avatar de _cronos2
Colaborador
 
Fecha de Ingreso: junio-2010
Mensajes: 2.062
Antigüedad: 13 años, 10 meses
Puntos: 310
Respuesta: Problemas al validar formulario confirm

Esque si te doy una posible solución y pasas de todo es difícil que te funcione. Te repito por 3ª vez, el formulario se envía con un botón submit, y en el onsubmit del form pones return valida_envia()
__________________
" Getting older’s not been on my plans
but it’s never late, it’s never late enough for me to stay. "
Cigarettes - Russian Red
  #11 (permalink)  
Antiguo 07/10/2010, 20:24
 
Fecha de Ingreso: abril-2008
Ubicación: Barcelona
Mensajes: 99
Antigüedad: 16 años
Puntos: 0
Respuesta: Problemas al validar formulario confirm

Buenas noches,


Perdona por lo cambiarlo antes, pero ahora ya lo hice como me indicabas pero me sigue sin funcionar :(


Lino

Etiquetas: confirm, formulario
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 03:47.