Ver Mensaje Individual
  #2 (permalink)  
Antiguo 13/09/2014, 00:04
Avatar de Alexis88
Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 13 años, 1 mes
Puntos: 977
Respuesta: Cambiar Instrucción de If else a Switch case

Como veo que estás usando el método getElementsByName, el cual ―según esta fuente― no tiene soporte completo y correcto en versiones anteriores a IE10, te recomiendo utilizar el método querySelector, el cual tiene soporte desde IE8. Con dicho método, reducirías todo a una sola línea:

Código Javascript:
Ver original
  1. var varFormaPago = document.querySelector("[name=MedioPago]:checked").value;

De esta forma, tomo al elemento cuyo nombre sea igual a 'MedioPago' y, utilizando el pseudo-atributo :checked (que tiene soporte desde IE9), filtro al elemento que se encuentre marcado, reduciendo ―en este caso― el número de elementos seleccionados a uno (la opción marcada). Luego, solo me queda tomar su valor.



Y si quieres que también funcione en IE8 y versiones anteriores, podrías tomar a todos los elementos de nombre 'MedioPago' con el método querySelectorAll, lo iteras con ayuda de un bucle (While, For, Do-While) y, en cada iteración, compruebas que el elemento actual en la iteración esté marcado (propiedad checked); de estarlo, obtienes su valor, lo asignas a la variable y sales del bucle.

Código Javascript:
Ver original
  1. var opciones = document.querySelectorAll("[name=MedioPago]"),
  2.     total = opciones.length,
  3.     varFormaPago = null;
  4.  
  5. for (var i = 0; i < total; i++){
  6.     if (opciones[i].checked){
  7.         varFormaPago = opciones[i].value;
  8.         break;
  9.     }
  10. }

Saludos
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand