JS es normal tener muchos functions repetidos??

ElRuso

Es normal tener muchas funciones repetidos, solamente con el cambio de las variables tipo:

La funcion numero uno usa dos variables vara1 y varb1
la funcion numero dos usa vara2 varb2
etc...

Cada funcion esta asignada a un grupo de radio buttons (tengo 50 grupos de radio buttons), y cada grupo no debe intervenir con otro grupo.

Eso es normal o soy un lamer completo en JS.?? (Bueno si soy lamer en JS es la primer vez que hago una funcion practicamente sin usar algo echo por otros).

Pero me molesta un poco tener una pagina *.js con 1500 lineas de codigo.

A

Si tienes eso es que no sabes programar pero alla tu. usa una unica funcion para todo seugn lo que le des.

EnZo

Sip ami tmb me molestaria xD

Pega un par de funciones de grupos, seguro que hay una solucion para reducir codigo considerablemente.

B

facil, haces una funcion con TRES parametros, dos para las variables que describes arriba y uno para una variable auxiliar q indique el nombre del radio q usas

pd: no es ser lamer, es ser n00b

VipeR_CS

Haz lo que dice #4, con una función lo haces todo xD. 1500 líneas de .js que burrada :\

SiCk

Aparte que tardará menos en cargar, digo yo xD

ElRuso

Ya lo he pensado lo de 4 y no lo veo viable.

Bueno os explico un poco mas el tema:

Tengo 50 grupos de rado butons cada uno tiene respuestas Yes-----NO------N/A. Tambien hay dos campos de texto Lamods: "Error" y "% de Error". El user tiene que contestar las preguntas y cuando da al NO en una pregunta el Value del campo "ERROR" se cambia a VALUE+1, si el user presiona NO otra vez en el mismo grupo de botonos nada deberia de pasar.
Asi en cada grupo de radio buttons, bueno parece sencillo, pero si al contestar diigamos 5 preguntas el user quiere cambiar la respuesta de la primera pregunta de NO a Yes(o NA), entonces el valor de campo ERROR tiene que ser VALUE-1. Y despues de esto tiene que seguir contestando la preguntas sin fallos.

Por eso tengo funciones para cada grupo para poder guardar la selecion de cada grupo de radio buttons por separado.

Si hay alguna idea como hacerlo en una unica funcion seria agradecido.

VipeR_CS

Yo veo 2 opciones ahora que lo has aclarado más. En primer lugar sería guardar las selecciones en un array en lugar de variables. La otra forma es no permitir cambiar las respuestas y a tomar x saco.

SeiYa

Yo sigo viendo que se puede hacer como dijo #4

Ahora tienes que especificar más:

¿Solo hay un campo de texto Error y otro % Error? ¿o hay uno por cada grupo de radio buttons?

Es que no se, yo haría la función de #4 pasándole los parámetros que le pasabas antes (si no pasabas ninguno, pues ninguno) más una variable que sea un número del 1 al 50 que corresponda a que radio button está pulsando.

Luego la función puede tener un array de 50 elementos con las respuestas correctas y comparar, es lo primero que se me ocurre.

ElRuso

En JS se puede tener Hashes ? O solo arrays?

SeiYa

Lo mismo tiene los hashes heredados de java vete tu a saber.

VipeR_CS

Sí tiene, aunque algo limitados, mirate este manual http://www.mojavelinux.com/articles/javascript_hashes.html

ElRuso

Gracias a todos, parece que ya he solucionado ese "problemma" usando hashes. Lo que queda es implementarlo.! ;)

Usuarios habituales