JavaScript - Pregunta Fácil (Espero)

   
Vista:

Pregunta Fácil (Espero)

Publicado por miguel angel (3 intervenciones) el 02/04/2011 00:20:08
Saludos a todos, espero puedan resolverme una duda.
Sucede que estoy haciendo un formulario cuyos resultados estoy guardando en un archivo externo. La cosa es que necesito que algunos botones sumen o resten números y lo desplieguen en una caja de texto. Me encontré un código muy bueno que lo hace. Entonces, estoy metiendo esto en un archivo .js al que llamo desde mi html.

*------------
var cnt = 0;
function add() {cnt++;set();}
function sub() {cnt--;set();}
function set() {myform.count.value = cnt;}
*-------------

Luego, en el html habría que insertar algo como esto...

*------------
<form name="myform">
<input type="button" value="-"
onclick="sub()" /><input type="input"
value="0" size="3" name="count"
onblur="set();" /><input type="button"
value=" + " onclick="add()" />
</form>
*--------------

Funciona de maravilla, pero ahora hagan de cuenta que necesito 17 de estas maravillas funcionando en la misma página. ¿Qué tengo que hacer para que cada una sume y reste su respectiva caja de texto? además, al final voy a guardar todos los resultados, junto con otros valores de mi formulario - No puedo abrir una etiqueta <form> para cada set de botones.

Les agradezco mucho su ayuda.

Saludos,
Miguel
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de xve

Pregunta Fácil (Espero)

Publicado por xve (1594 intervenciones) el 02/04/2011 22:19:55
Para ello Miguel, se me ocurren 2 cosas diferentes...

1.- Puedes hacer, que a cada función le pases el nombre de la variable a la que sumar o restar... eso si, tendrás que crear 17 variables distintas... algo asi:
var cnt1 = 0;
var cnt2 = 0;
var cnt3 = 0;
....
function add(var) {var++;set();}
function sub(var) {var--;set();}
function set(var) {myform.count.value = var;}

2.- Otra maneras, seria utilizar un array con los valores de todas las variables, y en cada llamada a las funciones, para el numero del indice del array... algo asi:
var cnt = new Array(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0);
function add(value) {cnt[value]++;set();}
function sub(value) {cnt[value]--;set();}
function set(value) {myform.count.value = cnt[value];}

Espero que te sirva...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE: Pregunta Fácil (Espero)

Publicado por miguel angel (3 intervenciones) el 04/04/2011 19:51:55
Muchísimas gracias por tu ayuda. Sin embargo no he podido hacer funcionar tu código. Abusando de tu confianza ¿Podrías escribirme un ejemplo de qué hacer ya en el formulario? Porque me parece que estoy haciendo algo mal...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar