Tengo esta función para cargar formularios con ajax:
Código HTML:
function formulario(url,elementos)
{
ele = new Array();
var element, ele1, elemento;
contenedor = document.getElementById("detalles");
for(var i=1; i<=elementos; i++)
{
element = 'elemento' + i;
ele[i] = document.getElementById(element).value;
}
ajax=nuevoAjax();
ajax.open("POST",url,true);
ajax.onreadystatechange=function()
{
if (ajax.readyState==4)
{
contenedor.innerHTML = ajax.responseText;
}
else
{
contenedor.innerHTML = 'Cargando...';
}
}
ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
for(var i=1; i<=elementos; i++)
{
ele1 = 'elemento' + i;
if(ele1 == 'elemento1')
{
elemento = ele1 + '=' + ele[i];
}
else if(ele1 != 'elemento1')
elemento += '&' + ele1 + '=' + ele[i];
}
ajax.send(elemento);
}
El problema es cuando cargo una pagina que esta dentro de una carpeta de otra carpeta. Es decir:
/Carpeta/Carpeta/pagina.php
La función la cargo en el index que se encuentra en /
Ahí cargo una primera página:
a traves de un menú llamo a la primera página
Código HTML:
<a href="#" name="../Carpeta/pagina1.php" onClick="cargaXML(this.name)">
Se carga aquí:
Código PHP:
<div id="detalles">
...
</div>
desde aquí cargo la pagina donde se encuentra el formulario:
Código HTML:
<a href="#" name="../Carpeta/Carpeta/pagina.php" onClick="cargaXML(this.name)">
El formulario tiene la siguiente cabecera:
Código HTML:
<form name="for" onSubmit="formulario('../Carpeta/Carpeta/pagina.php,'1')">
Bueno la cuestión es que cuando hago el submit, el ajax peta y me devuelve al index.
Creo que el problema esta en la ruta, a ver si me podéis echar una mano gracias
bichomen