Foros del Web » Programando para Internet » Javascript » Frameworks JS »

duda con funcion

Estas en el tema de duda con funcion en el foro de Frameworks JS en Foros del Web. Hola, tengo problemas con un codigo se supone q bastante basico... Código: function validanombre { if (mal.1) {color:red; return false} else if (mal.2) {color:red; return ...
  #1 (permalink)  
Antiguo 13/08/2010, 15:13
 
Fecha de Ingreso: junio-2010
Mensajes: 373
Antigüedad: 14 años, 4 meses
Puntos: 11
duda con funcion

Hola, tengo problemas con un codigo se supone q bastante basico...

Código:
function validanombre {
   if (mal.1)
       {color:red; return false}
   else if (mal.2)
       {color:red; return false}
   else
       {color:green; return true}
}

$("boton").click(function(){
   if(validanombre)
       {$.ajax{...}}

});
Lo que quiero hacer es que si "pasa la funcion" (en verde), le deje hacer la llamada ajax y de lo contrario (rojo) no.

le estoy dando vueltas a los return pero la verdad q aun no se utilizar muy bien estos mismos, y no estoy consiguiendolo.

1 saludo y muchas gacias.

Última edición por oms02; 13/08/2010 a las 15:36
  #2 (permalink)  
Antiguo 13/08/2010, 15:48
 
Fecha de Ingreso: diciembre-2009
Ubicación: Misiones
Mensajes: 867
Antigüedad: 14 años, 11 meses
Puntos: 65
Respuesta: duda con funcion

primero te falta los corchetes en la funcion, la condición de los if no es correcta y con esto "color:green" que querés hacer?

podrias explicar mejor con que tenes que comparar para que sea error o no

por ejemplo

acá le paso una variable valor que contiene una cadena y comparo si esta en balnco o no

Código Javascript:
Ver original
  1. function validanombre(valor) {
  2.    if (valor == ''){
  3.        return false;
  4.    } else{
  5.        return true;
  6.    }
  7. }
  8. valor = 'Dany';
  9. if (validanombre(valor)){
  10.     alert("correcto")
  11. } else {
  12.     alert("incorrecto");
  13. }
  #3 (permalink)  
Antiguo 13/08/2010, 16:41
 
Fecha de Ingreso: junio-2010
Mensajes: 373
Antigüedad: 14 años, 4 meses
Puntos: 11
Respuesta: duda con funcion

Si, lo siento, me he explicado fatal.

He mirado mas, y lo que me ocurre es lo siguiente:


Código:
function validanombre() {
	if($(this).val().length < 4 || $(this).val().length > 15)
		{$(this).animate({backgroundColor: '#F95252'},veloc); return false;}
	else if(!$(this).val().match(/^[0-9a-zA-Z]+$/))
		{$(this).animate({backgroundColor: '#F95252'},veloc); return false;}
	else
		{$(this).animate({backgroundColor: 'silver'},veloc); return true;}
}

$("#nombre").focusout(validanombre);

$("#boton").click(function(){
	¿¿¿var $(this) = $("#nombre");????
	if(validanombre())
	        {$.ajax({...}});
	}
});
Esta funcion la llamo en 2 ocasiones. Por un lado en el focusout me lo hace correctamente. Pero en el click a #boton, el selector ya no es "#nombre" y no se como cambiar el selector correctamente para que le llegue bien a la funcion.

muchas gracias y perdon por haberme explicado tan mal antes.

1 saludo!
  #4 (permalink)  
Antiguo 13/08/2010, 17:07
 
Fecha de Ingreso: diciembre-2009
Ubicación: Misiones
Mensajes: 867
Antigüedad: 14 años, 11 meses
Puntos: 65
Respuesta: duda con funcion

pasale como parámetro this

validanombre(this);

entonces usas ese parametro

function validanombre(elemento) {
if($(elemento).val()....

Etiquetas: funcion
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 17:42.