Foros del Web » Programando para Internet » Javascript »

podría alguien revisarme esta función?

Estas en el tema de podría alguien revisarme esta función? en el foro de Javascript en Foros del Web. buenas. Yo se que ya hay información a cerca del tema en el foro, pero copié información de aquí y no se donde está el ...
  #1 (permalink)  
Antiguo 25/11/2010, 13:33
 
Fecha de Ingreso: octubre-2010
Mensajes: 30
Antigüedad: 13 años, 6 meses
Puntos: 0
podría alguien revisarme esta función?

buenas.
Yo se que ya hay información a cerca del tema en el foro, pero copié información de aquí y no se donde está el problema.. agradezco me ayuden ya que apenas me estoy conociendo con javascript...

tengo esto:

function Desplegar(TABLA_FORMA_PAGO) {
var Tabla = document.getElementById(TABLA_FORMA_PAGO);
var FORMA_PAGO = document.getElementById("RADIO_F_PAGO").value;
if (FORMA_PAGO = document.getElementById("RADIO_F_PAGO").value="EFE CTIVO")
{
Tabla.style.display= "none";
}
else
{
Tabla.style.display = "block";
}
}

en body tengo esto:

<input name="RADIO_F_PAGO" id="RADIO_F_PAGO" type="radio" value="EFECTIVO" onClick="Desplegar('TABLA_FORMA_PAGO')">

<input name="RADIO_F_PAGO" id="RADIO_F_PAGO" type="radio" value="CHEQUE" onClick="Desplegar('TABLA_FORMA_PAGO')">

<input name="RADIO_F_PAGO" id="RADIO_F_PAGO" type="radio" value="TARJETA" onClick="Desplegar('TABLA_FORMA_PAGO')">

y quiero que cuando le haga click en el radio CHEQUE o TARTEJA me aparezca una tabla:

<table width="100%" cellspacing="0" cellpadding="0" id="TABLA_FORMA_PAGO" name="TABLA_FORMA_PAGO" style="display:none"> ( ... )

alguien me podría decir qué es lo que hago mal o en su defecto que parte está bueno.... :(
  #2 (permalink)  
Antiguo 25/11/2010, 13:49
Avatar de IsaBelM
Colaborador
 
Fecha de Ingreso: junio-2008
Mensajes: 5.032
Antigüedad: 15 años, 10 meses
Puntos: 1012
Respuesta: podría alguien revisarme esta función?

todo este código
Cita:
var FORMA_PAGO = document.getElementById("RADIO_F_PAGO").value;
if (FORMA_PAGO = document.getElementById("RADIO_F_PAGO").value="EFE CTIVO")
{
Tabla.style.display= "none";
}
else
{
Tabla.style.display = "block";
}
se reduce a esto
Cita:
Tabla.style.display= document.getElementById("RADIO_F_PAGO").value=="EF ECTIVO" ? "none" : "block";
uno de los errores que estás cometiendo es que estás asignando en vez de comparando
con = se asigna valor, por ejemplo a una variable, y con == se compara dos valores
  #3 (permalink)  
Antiguo 25/11/2010, 14:13
 
Fecha de Ingreso: octubre-2010
Mensajes: 30
Antigüedad: 13 años, 6 meses
Puntos: 0
Respuesta: podría alguien revisarme esta función?

Cita:
Iniciado por IsaBelM Ver Mensaje
todo este código

se reduce a esto

uno de los errores que estás cometiendo es que estás asignando en vez de comparando
con = se asigna valor, por ejemplo a una variable, y con == se compara dos valores
hola IsaBelM, gracias, por tu pronta respuesta y valiosa información.
Hice lo que me dices.. pero me sale este error: 'Tabla' no está definido
¿?

Edito..
Equivocación, no declaré la variable tabla, cuando te envié el mensaje... pero aún así no me funciona...
  #4 (permalink)  
Antiguo 25/11/2010, 14:24
Avatar de malakian  
Fecha de Ingreso: septiembre-2010
Ubicación: $malakian->Colombia();
Mensajes: 469
Antigüedad: 13 años, 7 meses
Puntos: 45
Respuesta: podría alguien revisarme esta función?

Cita:
Iniciado por IsaBelM Ver Mensaje
Tabla.style.display= document.getElementById("RADIO_F_PAGO").value=="EF ECTIVO" ? "none" : "block";
Hola disculpa si me entrometo IsaBelM perome gustaria saber si esa forma de hacer una condicion tiene algun nombre en especial gracias!!
__________________
Guitar Loco, Desarrollador Web PHP
Sigueme: @jose1x
  #5 (permalink)  
Antiguo 25/11/2010, 14:30
Avatar de _cronos2
Colaborador
 
Fecha de Ingreso: junio-2010
Mensajes: 2.062
Antigüedad: 13 años, 10 meses
Puntos: 310
Respuesta: podría alguien revisarme esta función?

A eso se le suele llamar operador ternario (?:), porque recibe tres parámetros, la condición a evaluar, y qué hacer en caso de que sea true y en caso de que sea false. Se puede anidar pero particularmente prefiero usar if/else cuando lo que vayas a hacer dependa de varios factores. Ej:
Código Javascript:
Ver original
  1. var num=7;
  2. alert(num>8?'mayor que 8':(num<7?'menor que 7':'es 7')); // es 7
Saludos (:
__________________
" 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
  #6 (permalink)  
Antiguo 25/11/2010, 15:03
Avatar de IsaBelM
Colaborador
 
Fecha de Ingreso: junio-2008
Mensajes: 5.032
Antigüedad: 15 años, 10 meses
Puntos: 1012
Respuesta: podría alguien revisarme esta función?

quitale las id a los radios, están repetidas. por otro lado pasale a la función otro valor (this.value)
Cita:
function Desplegar(rad, TABLA_FORMA_PAGO) {
var Tabla = document.getElementById(TABLA_FORMA_PAGO);
Tabla.style.display= rad=="EFECTIVO" ? "none" : "block";
}



<input name="RADIO_F_PAGO" type="radio" value="EFECTIVO" onclick="Desplegar(this.value, 'TABLA_FORMA_PAGO')">

<input name="RADIO_F_PAGO" type="radio" value="CHEQUE" onclick="Desplegar(this.value, 'TABLA_FORMA_PAGO')">

<input name="RADIO_F_PAGO" type="radio" value="TARJETA" onclick="Desplegar(this.value, 'TABLA_FORMA_PAGO')">

<table width="100%" cellspacing="0" cellpadding="0" id="TABLA_FORMA_PAGO" name="TABLA_FORMA_PAGO" style="display:none">
  #7 (permalink)  
Antiguo 25/11/2010, 15:14
 
Fecha de Ingreso: octubre-2010
Mensajes: 30
Antigüedad: 13 años, 6 meses
Puntos: 0
Respuesta: podría alguien revisarme esta función?

Cita:
Iniciado por IsaBelM Ver Mensaje
quitale las id a los radios, están repetidas. por otro lado pasale a la función otro valor (this.value)
hola IsaBelM... todo funcionó a la perfección, muchisimas gracias por tu tiempo y colaboración, aprendí un montón!!! gracias de nuevo!!

Etiquetas: Ninguno
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 15:01.