Foros del Web » Programando para Internet » Javascript »

Obtener valores de un text box en arreglos.

Estas en el tema de Obtener valores de un text box en arreglos. en el foro de Javascript en Foros del Web. Hola a todos. Estoy haciendo una paqueña pagina que me resuelva unos calculos. Para esto decidí usar javascript. El código que tengo es el siguiente: ...
  #1 (permalink)  
Antiguo 03/05/2013, 17:45
Avatar de Instru  
Fecha de Ingreso: noviembre-2002
Ubicación: Mexico
Mensajes: 2.751
Antigüedad: 17 años, 6 meses
Puntos: 52
Obtener valores de un text box en arreglos.

Hola a todos.
Estoy haciendo una paqueña pagina que me resuelva unos calculos. Para esto decidí usar javascript.

El código que tengo es el siguiente:
Código:
<html>
<head>
<script type="text/javascript" src="http://code.jquery.com/jquery-latest.js"></script>
</head>
<body>
<script type="text/javascript">

function calcular()
{

}

function obtenerProbabilidades()
{
	var i, j, k;
	var texto='<form name="probabilidades">';
	for(k=0; k<primerform.dec.value; k++)
	{
		texto+='Para la desición '+k+'<br>';
		for(i=0; i<primerform.states.value; i++)
		{
			for(j=0; j<primerform.states.value; ++j)
			{
				texto+='Probabilidad de pasar del estado '+i+' al estado '+j+'<input type="text" name="p'+k+''+i+''+j+'" value="0"><br>';
			}
		}	
	}
	texto+='<input type="button" value="Calcular" onclick="calcular()"></form>';
	$('#probabilidades').html(texto);
}

function obtenerCostos()
{
	var i, j;
	var datos;
	var texto='<form name="costos">';
	for(i=0; i<primerform.states.value; i++)
	{
		for(j=0; j<primerform.dec.value; ++j)
		{
			texto+='Costo'+i+''+j+'  ';
			texto+='<input type="text" name="costo'+i+''+j+'" value="0"><br>';
		}
	}
	texto+='<input type="button" value="Siguiente" onclick="obtenerProbabilidades()"><br></form>';
	$('#costos').html(texto);
}
</script>

<form name="primerform">
	Indique el número de estados: <input type="text" name="states" value="0"><br>
	Indique el número de decisiones: <input type="text" name="dec" value="0"><br>
	<input type="button" value="Siguiente" onclick="obtenerCostos()">
</form>

<div id="estados_decisiones">
</div>
<div id="costos">
</div>
<div id="probabilidades">
</div>
</body>
</html>
Ya se que el uso de jquery es totalmente inecesario, pero bueno, dejemoslo asi.
Lo que quiero hacer es obtener todos los vales de los textboxes que se generan y meterlos en un arreglo multidimensional.

La verdad tiene muchos años que no trabajaba con javascript y pues me ando dando de topes pero ahi la llevo.

El problema es que los nombres de los textboxes son generados: p000, p001, p002... y asi.
Hay alguna manera para obtener los valores con algun loops??.

Saludos
  #2 (permalink)  
Antiguo 04/05/2013, 11:39
Avatar de daPhyre
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: [email protected] (Redirects to 127.0.0.1)
Mensajes: 2.404
Antigüedad: 12 años, 2 meses
Puntos: 142
Respuesta: Obtener valores de un text box en arreglos.

El problema es que comienza con "00". Esto podría funcionar con los primeros 9:

Código Javascript:
Ver original
  1. for(var i = 0; i < 9; i++)
  2.     arr[i]=$("p00"+i).value;

El detalle vendría los siguientes. Si puedes editar el HTML para eliminar los 00 extra, sería más sencillo. De lo contrario, puedes crear una función que te regrese un string de 3 caracteres agregando los 0 extra, o menos práctico, evaluar del 0 al 9, luego del 10 al 99 y luego los restantes.

Son las soluciones que se me ocurren. Suerte :)
__________________
<signs>daPhyre</signs>
Jugaa.me


Adios al dolor de cabeza de IE...
  #3 (permalink)  
Antiguo 04/05/2013, 23:16
Avatar de Instru  
Fecha de Ingreso: noviembre-2002
Ubicación: Mexico
Mensajes: 2.751
Antigüedad: 17 años, 6 meses
Puntos: 52
Respuesta: Obtener valores de un text box en arreglos.

Si. Esa idea ayuda mucho.
Gracias!!.
Saludos

Etiquetas: box, html, input, jquery, js, text
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 18:54.