Bucle para modificar valores de campo de formulario no funciona
Publicado por Danielo (2 intervenciones) el 26/01/2016 11:50:23
Hola, buenas.
Tengo un problema con una función, que en principio se ejecuta pero no hace lo que tengo en mente.
Tengo un formulario con dos campos, que saca la información en pantalla en función de los datos de una tabla; es un bucle que por cada registro, llama a un template para mostrar dicha información (por ejemplo, saca tres líneas en pantalla). Los dos campos que tengo definidos en el formulario son los siguientes (uno de ellos una checkbox ( por defecto desmarcada y que solo se debe marcar si el siguiente campo de la fila sufre algún cambio), y el segundo campo el que muestra una cantidad (recupera de base de datos) que es el que me interesa cambiar (que en un futuro quiero controlar un valor mínimo de 0 y un máximo de 9), que toma el valor de la variable $repetido y que lo informo para cada registro que recupero de una tabla;
en mi caso tengo 3 registros en una tabla que recupero y envío al formulario, mostrándome como resultado final tres filas con los valores 3, 5 y 8 en este segundo campo del formulario,
Estoy intentando hacer un bucle para que al pulsar una opción, me ponga esos tres valores a 0 o 1 (dependiendo del botón que pulse). He creado la siguiente función, siendo "fornname" el nombre del formulario (aunque creo que no lo uso para nada) y "value" al cual le paso 0 o 1 (dependiendo del botón pinchado):
Pero cuando pincho en los botones (de poner todos a 0 o poner todos a 1) no veo ningún cambio de los valores 3,5 y 8 en pantalla, sigo viendo los mismos valores. La función parece ejecutarse (digo "parece" porque en otras pruebas sobre esta función se me quedaba mostrada en la pantalla la opción selecionada, como si no se ejecutase, y ahora si parece que ejecutase algo)
¿Qué estoy haciendo mal en el bucle? ¿Cómo puedo sustituir el valor original $repetido (recuperado en la primera ejecución) por los valores 0 o 1 cuando tengo la información 3,5 y 8 en pantalla?
Tengo un problema con una función, que en principio se ejecuta pero no hace lo que tengo en mente.
Tengo un formulario con dos campos, que saca la información en pantalla en función de los datos de una tabla; es un bucle que por cada registro, llama a un template para mostrar dicha información (por ejemplo, saca tres líneas en pantalla). Los dos campos que tengo definidos en el formulario son los siguientes (uno de ellos una checkbox ( por defecto desmarcada y que solo se debe marcar si el siguiente campo de la fila sufre algún cambio), y el segundo campo el que muestra una cantidad (recupera de base de datos) que es el que me interesa cambiar (que en un futuro quiero controlar un valor mínimo de 0 y un máximo de 9), que toma el valor de la variable $repetido y que lo informo para cada registro que recupero de una tabla;
1
2
3
4
5
6
7
<td class="alt1">
<input type="checkbox" name="repeatedcards[$card[ref]]" id="repecheck[$card[ref]]" value="$card[ref]"/>
</td>
<td class="alt1">
<input type="text" size="5" tabindex="1" name="cantidad[$card[ref]]" id="repevalor" value="$repetido" maxlength="1">
</td>
en mi caso tengo 3 registros en una tabla que recupero y envío al formulario, mostrándome como resultado final tres filas con los valores 3, 5 y 8 en este segundo campo del formulario,
Estoy intentando hacer un bucle para que al pulsar una opción, me ponga esos tres valores a 0 o 1 (dependiendo del botón que pulse). He creado la siguiente función, siendo "fornname" el nombre del formulario (aunque creo que no lo uso para nada) y "value" al cual le paso 0 o 1 (dependiendo del botón pinchado):
1
2
3
4
5
6
7
8
9
10
11
function cambiar(value)
{
var campos = document.getElementsByTagName("repevalor");
var num = campos.length;
for(i=0; i<num; i++)
{
var field = campos[i];
field.value=value;
}
}
Pero cuando pincho en los botones (de poner todos a 0 o poner todos a 1) no veo ningún cambio de los valores 3,5 y 8 en pantalla, sigo viendo los mismos valores. La función parece ejecutarse (digo "parece" porque en otras pruebas sobre esta función se me quedaba mostrada en la pantalla la opción selecionada, como si no se ejecutase, y ahora si parece que ejecutase algo)
¿Qué estoy haciendo mal en el bucle? ¿Cómo puedo sustituir el valor original $repetido (recuperado en la primera ejecución) por los valores 0 o 1 cuando tengo la información 3,5 y 8 en pantalla?
Valora esta pregunta


0