image
Inicio » Foros » JavaScript

JavaScript

Pasar un text con un array a javascript

Volver al foro | Responder | Añadir nuevo tema


De: Rosa Isela
Fecha: 06/10/2007
Mensaje:

Hola a todos!

deseo pasar la informacion de este campo de texto a javascript

echo " <td align='center'> <input type='text' name='calif[".$i."][".$uni."]'
maxlength='3' size='3'' onblur='checkcal(this)'
value='".$res_calipar->fields('calificacion')."'onkeypress='valida_entero(this)'></td>";


la pregunta es:

como tengo que declarar la variable en javascript para que me lea el arreglo:

calif[".$i."][".$uni."]




Quizás le interese
De: jbosch(vosk)
Util para: 1 personas

Fecha: 06/10/2007
Mensaje:

por partes: segun entiendo, antes que esto has descargado un array multiple global en la parte javascript llamado 'calif', p.ej.

var calif=new Array(new Array(0,1,2),new Array(3,4,5),new Array(6,7,8));

y mediante un campo de texto quieres acceder al contenido. este campo de texto lleva un nombre tal como 'calif[indice][subindice]' donde 'indice' y 'subindice' son valores numericos (de lo contrario no funcionaria sin replantear la declaracion del array), p.ej. 'calif[1][2]' (que luego aplicado al array del ejemplo valdrá '5'); en vez de declarar el nombre como si estuvieras buscando directamente el valor dentro del array tienes que separar los valores

$i=1;
$uni=2;
echo "<input type='text' name='".$i.",".$uni."' value='' onBlur='checkcal(this);'>";

el resultado seria como

name='1,2'

y en la funcion recibes un puntero al campo de texto del que puedes saber su nombre y mediante ese recoger los indices del array

function checkcal(c)
{
var indices=c.name.split(",");
var valorarray=calif[indices[0]][indices[1]];
}

siguendo el ejemplo, en 'valorarray' queda el valor de calif[1][2] que es 5.

tambien puedes plantearlo de forma mas directa declarando los indices como argumentos de la llamada a la funcion

$i=1;
$uni=2;
echo "<input type='text' value='' onBlur='checkcal(".$i.",".$uni.");'>";

ahora la funcion checkcal' será tal como

function checkcal(i,si)
{
var valorarray=calif[i][si];
}

otra forma mas simple es enviar como argumento directamente el valor del array

echo "<input type='text' value='' onBlur='checkcal(calif[".$i."][".$uni."]);'>";

ahora la nueva funcion ya recibe directamente el valor del array como argumento

function checkcal(valorarray) {}

en todos estos ejemplos anteriores la variable 'valorarray' termina con el valor 5.

y no se me ocurre ninguna otra forma para hacerlo.

jbosch(vosk)



De: Yo mismo
Util para: 0 personas

Fecha: 10/10/2007
Mensaje:

No debes confundir la parte servidor con el javascript que se ejecute en elnavegador (cliente) Todo ese nombre se resolverá en el servidor y viajará al navegador (míralo en ver código), el input quedará con name=calif[m][n] y no sé si será el único o habrá varios input según ese array. Si sólo es uno puedes hacer lo que sea usando la misma forma de nombre con las variables de lo contrario recorrerás el array de calif[... con el nombre de forma variable y posiblemente necesitarás usar un eval(...



Volver al foro | Responder | Añadir nuevo tema

Quizás le interese:

WebEstilo.com no se hace responsable de las opiniones que los usuarios puedan verter en cualquiera de los foros existentes.

Si te solucionó el problema pulsa en G+1


Gracias!






Comparte



Última modificación:31 de Agosto de 2017. Spain - Espa�a.
© 1998-2004 por . Todos los derechos reservados.