image
Inicio » Foros » JavaScript

JavaScript

Pasar array de PHP a JavaScript

Volver al foro | Responder | Añadir nuevo tema


De: Alberthoven
Fecha: 20/12/2005
Mensaje:

Pues eso, me gustaría saber cómo le puedo asar una variable array de PHP a javascript. Sería algo como esto:

<?

echo "<INPUT TYPE="button" VALUE="Crear" NAME="crear" onClick="javascript:CargarOperacion (this.form, this.name)"> ";

?>

Y le quiero pasar a la funcion javascript CragarOperacion un array $mi_array.

Veo 2 posibles alternativas: pasarselo tal cual como parametro de la funcion, es decir: "javascript:CargarOperacion (this.form, this.name, $mi_array)", o bien desde el cuerpo de la funcion javascript acceder a el:

mi_array = new Array();
mi_array = <?echo "$miarray";?>;

No se por que no me funciona ninguna, estan bien, hay otra posibiladad...???




Quizás le interese
De: José Luis
Util para: 12 personas

Fecha: 21/12/2005
Mensaje:

Hola Alberthoven

En este caso hay que tomar mucho en cuenta que el PHP se ejecuta del lado del servidor y el javascript del lado del cliente.

En estos casos es preferible dar con la instruccion echo de PHP el Javascript

Mas o menos asi:

<?
echo "<INPUT TYPE='button' VALUE='Crear' NAME='crear' onClick='javascript:CargarOperacion (this.form, this.name)'>";
?>

Para mesclar el php solamente concatena la variable donde corresponde algo asi:

echo "javascript:CargarOperacion (this.form, this.name,".$mi_array.")";

Espero que te halla servido.

Saludos

JLOCH



De: salvica
Util para: 14 personas

Fecha: 23/12/2005
Mensaje:

Teniendo en cuenta que son dos lenguajes completamente diferentes, es imposible pasar un array PHP a otro array en JavaScript y viceversa, pero lo que si puedes hacer es pasar cada uno de los elementos por separado y la función que los reciba se deberá encargar de formar el nuevo, ejemplo: un array PHP de cuatro elementos a JavaScript

< SCRIPT LANGUAJE="JavaScript" >
mi_array = new Array();

function recibeArray( E0, E1, E2, E2 ) {
mi_array[0] = E0;
mi_array[1] = E1];
mi_array[2] = E2;
mi_array[3] = E3;
}
< /SCRIPT >

<?
echo "<INPUT TYPE='button' VALUE='Crear' NAME='crear' onClick='javascript:recibeArray( $arrayPHP[0], $arrayPHP[1], $arrayPHP[2], $arrayPHP[3])'>";
?>

Los espacios en blanco en "SCRIP" son adrede, porque sino me da problemas.

Saludos y Felices Fiestas





De: Ariel
Util para: 7 personas

Fecha: 28/12/2005
Mensaje:

<?
// Suponiendo que tenes el siguiente array en php
$mi_array = array( "valor1", "valor2", "valor3" );

// La manera más facil de pasar a javascript es:
echo "<script language="javascript">";
echo  "  var mi_array_js = new Array(' " . explode(" ',' ", $mi_array) . " '); ";
echo "</script>";

?>

Por supuesto que esta solución no pasa a javascritp los índices. Por ejemplo, si tuvieras un array así:

$mi_array = array( "primero" => "Valor1", "segundo" => "Valor2" );

El array javascript solo tendría "Valor1" y "Valor2"

Si llegas a necesitar una solución para eso, avisame.

Espero haber sido de ayuda.
Cualquier consulta no dudes en preguntar.

Saludos desde Argentina.
Ariel






De: angel
Util para: 1 personas

Fecha: 22/06/2006
Mensaje:

gracias por el script, es muy últil, sobretodo para combox dinámicos dependientes, listas enlazadas...
El único problema es que se debe utilizar la func. "implode", no explode.

un saludo.



De: Esther
Util para: 2 personas

Fecha: 13/09/2006
Mensaje:

Muchas gracias!! El script para poder pasar el array como parámetro de php a javascript me ha funcionado correctamente!!! Eso sí, la función correcta, como indica angel es IMPLODE.

Saludos y gracias de nuevo!!



De: anacleto
Util para: 3 personas

Fecha: 17/06/2007
Mensaje:

Ariel, yo si que necessito pasar un array tridimensional a javascript. p.e. $array[$x][$y][$z] Si puedes ponerme el como te lo agredecere ;) Saludos!



De: Osvaldo
Util para: 5 personas

Fecha: 21/07/2009
Mensaje:

Hola a todos
Espero que me puedan ayudar con este mismo tema pero diferente problema.

Tengo un formulario al que le paso en un par de inputs arreglos

<input name="tipotel[]" id="tipotel" type="text" value="" />
<input name="tel[]" id="tel" type="text" value="" />

En el Form tengo esto:

<form id="telefonosFrm" action="" onsubmit="DatoTel(tipotel,tel); return false" >

pero al pasarlo a Javascript+ajax solo pasa el primer valor

function DatoTel(,tipotel,tel){
//donde se mostrará el resultado de la eliminacion
divResultado = document.getElementById('resultadotel');

tipotel = document.getElementById("tipotel").value;
tel = document.getElementById("tel").value;

//usaremos un cuadro de confirmacion
var actualizar = confirm("Seguro que desea guardar este dato?");
if ( actualizar ) {
//instanciamos el objetoAjax
ajax=nuevoAjax();
//uso del medotod GET
//indicamos el archivo que realizará el proceso de eliminación
//junto con un valor que representa el id del empleado
ajax.open("GET", "objetos/pruebas.php?tipotel="+tipotel+"&tel="+tel, true);
ajax.onreadystatechange=function() {
if (ajax.readyState==4) {
//mostrar resultados en esta capa
divResultado.innerHTML = ajax.responseText
}
}
//como hacemos uso del metodo GET
//colocamos null
ajax.send(null);

}
}


Alguna idea de como slucionarlo?

Gracias.



De: jhjacomo
Util para: 1 personas

Fecha: 08/03/2010
Mensaje:

Prueba de envio



De: jhjacomo
Util para: 0 personas

Fecha: 08/03/2010
Mensaje:

fijate, en el llamado a la funcion te esta sobrando una coma

function DatoTel(,tipotel,tel){

Y siguendo con este tema, tengo un formulario que mustro los empleados con sus importes cobrados (n registros) esto los cargo en un vevtor PHP de la foma:
echo "<INPUT class=t1 name=remu[".$i."] value='".$remu[$i]."' onChange='VeoTotal(this.form)."></TD>";

de esta forma, no se cuentos registros pueda tener en la bd., pero la idea es pasarle a la funcion JS todo el vector para efectuar calculo con los datos ingresados.

Agradeceria cualquier ayuda al respecto.
Gracias




De: jhjacomo
Util para: 1 personas

Fecha: 08/03/2010
Mensaje:

Solucionado.
con esto

for (var i=0;i<x.length;i++)
{if ((x.elements[i].name.substr(0,5))=='remu[')
{neto += eval(x.elements[i].value);}
}

gracias.



De: h
Util para: 0 personas

Fecha: 03/06/2010
Mensaje:

h



De: luis medina
Util para: 0 personas

Fecha: 04/08/2010
Mensaje:

Amigos, usando JavaScript, quiero restarle un dia a una fecha y luego mostar la nueva fecha en un input. Gracias por su ayuda Luis



De: Furggor
Util para: 4 personas

Fecha: 06/03/2011
Mensaje:

No se si lograron resolverlo de esa manera a mi no me funciono muy bien y opte por otra solucion

primero cree el nuevo array en javascript mediante un echo

despues con un for le fui asignando los valores de mi arreglo en php

y asi pude mandar ya el arreglo de javascript como parametro en una funcion

$array_php = explode('separador',$cadena);
$longitud_array = count($array_php);
echo "<script language='javascript'>
var array_js= new Array($longitud_array)


</script>";

for ($i=0; $i< $longitud_array ; $i++){
echo "<script language='javascript'>
array_js[$i]='$array_php[$i]'
</script>";
}

echo "<script language='javascript'>
envia_array(array_js)
</script>";

y listo recibi todos los datos y pude manejarlos



De: Imperius.sama
Util para: 0 personas

Fecha: 26/11/2017
Mensaje:

<script>
var arrayJS = <?php echo json_encode($arrayPHP)
?>;
</script>



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.