Foros del Web » Programando para Internet » Javascript »

funcion sumar select de un formulario , ya terminada pero ... sepuede mejorar ?

Estas en el tema de funcion sumar select de un formulario , ya terminada pero ... sepuede mejorar ? en el foro de Javascript en Foros del Web. hola que tal me estoy dando una vuelta por ak por que ... 1ro no casi nada de java lo poco que entiendo es gracias ...
  #1 (permalink)  
Antiguo 21/10/2009, 13:46
Avatar de mauro770  
Fecha de Ingreso: mayo-2009
Mensajes: 109
Antigüedad: 15 años
Puntos: 1
funcion sumar select de un formulario , ya terminada pero ... sepuede mejorar ?

hola que tal me estoy dando una vuelta por ak por que ... 1ro no casi nada de java lo poco que entiendo es gracias a php y la leida de muchos ejemplo y la 2da por que queria preguntar si se puede mejorar este codigo o si esta mal o si esta bien. funcionar, funciona pero nunca esta de mas mejorar para prevenir problemas a un futuro ...
el codigo vacicamente lo que hace es sumar el valor de 2 select para luego mostrarlos ...

Código PHP:
<HTML>
<
HEAD>
   <
title>Ejemplo de JavaScript</title>
</
HEAD>
<
script LANGUAGE="JavaScript">
<!--
//creamos la funcion la llamamos ver, la cual se va a encargar de todo cuando 
//sea llamada por los select al OnChange (al cambiar)
   
function ver(boton)
   {
   
// creamos 1 variable por cada select a las cuales le pasamos como valor 
//el valor de su respectivo select pero antes transformamos la cadena string //contenida en un  valor numerico para poder realizar la suma posteriormente.
     
select_a Number(formulario.a.options[formulario.a.selectedIndex].value);
     
select_b Number(formulario.b.options[formulario.b.selectedIndex].value);
     
// cramos una variable donde guardaremos el valor sumado de las
// dos variables creadas anteriormente
     
valor select_a select_b;
     
// aca mostramos el valor para ver si sumo bien .. jejej
      
alert(valor);
   }
//-->
</script>
<BODY>
<form action="" name="formulario" id="formulario" method="GET">

Edad:<br>
<select name="a" onChange="javascript:ver()">
   <option value="0" SELECTED="SELECTED">0</option>
   <option value="10">10</option>
   <option value="20">20</option>
</select>
<select name="b" onChange="javascript:ver()">
   <option value="0" SELECTED="SELECTED">0</option>
   <option value="10">10</option>
   <option value="20">20</option>
</select>

</form>

</BODY>
</HTML> 
se preguntaran por que el idiota este pregunta si esta bien si ya le anda ?
pregunto por que lei muchos ejemplos que son una ensalada para mi :S como por ejemplo este :
ht tp ://w ww .forosdelweb.com/f13/sumar-precio-final-otros-productos-desde-select-732130 (le puse espacios por que no puedo poner links todabia)
entonces al ver que el codigo que hice es una cagadita respecto al otro , me lleva a la duda de pensar si mi codigo es obsoleto por lo basico o si esta mal.


saludos y muchas gracias !
  #2 (permalink)  
Antiguo 21/10/2009, 21:12
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años
Puntos: 1485
Respuesta: funcion sumar select de un formulario , ya terminada pero ... sepuede mejo

Cita:
pregunto por que lei muchos ejemplos que son una ensalada para mi
menos mal que no es sopa de letra!

mi opinion es que cada codigo se adapta segun la necesidad de la aplicacion, y en muchos casos tambien al conocimiento de quien escribe el codigo. esta bastante bien salvo un detalle (marcado en bold),
Código:
     select_a = Number(formulario.a.options[formulario.a.selectedIndex].value);
     select_b = Number(formulario.b.options[formulario.b.selectedIndex].value);
la forma de referencia es incorrecta. explico, hay varias formas de como obtener referencia de un elemento en particular. en tu caso, FORM tiene dos atributos que puedes utilizar en javascript como referencia pero cada una de ella se usa de forma distinta. un elemento con ID se obtiene por document.getElementById y un elemento con NAME se obtiene segun la estructura que define DOM.

en tu caso, en el codigo antes comentado, formulario hace referencia al ID del elemento, pero, es una forma incorrecta de hacerla y solo funciona en iexplorer. el navegador iexplorer tiene la mala costumbre de automaticamente considerar como variables los IDs de los elementos pero se supone que no debe ser asi.

dado que NAME e ID tienen el mismo valor, puedes hacer una de dos: usa la funcion getElementById(), o precede formulario con el objeto document.
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #3 (permalink)  
Antiguo 22/10/2009, 12:44
Avatar de mauro770  
Fecha de Ingreso: mayo-2009
Mensajes: 109
Antigüedad: 15 años
Puntos: 1
Respuesta: funcion sumar select de un formulario , ya terminada pero ... sepuede mejo

muchas gracias zerokilled por la opinion y la info , lei los links , muy preciso y consigo , gracias .
ahora se que es vital escribirlo asi
Código PHP:
select_a Number(document.formulario.a.options[formulario.a.selectedIndex].value);
select_b Number(document.formulario.b.options[formulario.b.selectedIndex].value); 

saludos
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 08:43.