Hola Voy a tratar de explicarte un poco lo que yo hice para pasar un array de javascript a php por json ...
Perdon si algo esta mal, pasa que no entiendo tanto como para explicarte jeje !!!!
Aca cargamos el array en javascript
:
funcion_update.js
Código javascript
:
Ver originalfunction calculo(e)
{
var preciojs1 = new Array();
var preciojs2 = new Array();
preciojs1[fmc] = gral_desc_1s.toFixed(2); // esto en mi funcion esta dentro de un for que le va asignando los datos !!! por eso el subindice fmc
preciojs2[fmc] = gral_desc_2s.toFixed(2);
//aca la asingacion por medio de json ...
var obj={preciopes : preciojs1,
preciodol:preciojs2};
var cadena=obj.toJSONString();
enviarDatos(cadena);
//alert(cadena);
}
// y esto es la parte comun
addEvent(window,'load',inicializarEventos,false);
function inicializarEventos()
{
var ref=document.getElementById('boton1');
addEvent(ref,'click',calculo_fondo_listado,false);
}
//***************************************
//Funciones comunes a todos los problemas
//***************************************
function addEvent(elemento,nomevento,funcion,captura)
{
if (elemento.attachEvent)
{
elemento.attachEvent('on'+nomevento,funcion);
return true;
}
else
if (elemento.addEventListener)
{
elemento.addEventListener(nomevento,funcion,captura);
return true;
}
else
return false;
}
var conexion1;
function enviarDatos(cadena)
{
conexion1=crearXMLHttpRequest();
conexion1.onreadystatechange = procesarEventos;
conexion1.open('GET','actualiza.php?cadena='+cadena, true);
conexion1.send(null);
}
function procesarEventos()
{
var resultados = document.getElementById('resultados');
if(conexion1.readyState == 4)
{
resultados.innerHTML = conexion1.responseText;
}
else
if (conexion1.readyState==1 || conexion1.readyState==2 || conexion1.readyState==3)
{
resultados.innerHTML = "<b>Procesando... Aguarde unos instantes</b>";
}
}
function crearXMLHttpRequest()
{
var xmlHttp=null;
if (window.ActiveXObject)
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
else
if (window.XMLHttpRequest)
xmlHttp = new XMLHttpRequest();
return xmlHttp;
}
y en la pagina php donde lo recibis, haces algo asi .
actualiza.php, le puse los nombres igual como lo tengo yo,
Código php:
Ver originalrequire('json.php');
include('conexion.php');
$json=new Services_JSON();
//despues haces un for para recorrer el arreglo
//mejor seria un foreach !!!
for($i=1;$i<=cant_valores_array;$i++)
{
echo $precio1=$cad->preciopes[$i]; echo " ";
echo $precio2=$cad->preciodol[$i]; echo "<br>";
}
Espero que te sirva la ayuda !!!!!
Saludos, Ricardo