Estoy recien aprendiendo este mundo de ajax,la pagina index.php la utilizo para cargar los link de mi pagina y para eso ocupo ajax,esta pagina me funciona correctamente y me envia a la pagina ingreso.php.
en firefox ocupo firebug.
cuando intento ingresar datos con mi formulario,firebug me entrega el siguiente error:
Código:
ajaxformulario is not defined
la funcion ajaxformulario la tengo hecha en el archivo codigo.js
cual podra ser el problema?,y de que manera podria reducir el codigo ajax que estoy utilizando,por ejemplo dejar todo mi codigo ajax en un archivo js,juntando lo de index php y codigo.js
gracias.
Esta pagina la ocupo para cargar los link
index.php
Código PHP:
<html>
<head>
<title>menu</title>
</head>
<body>
<link href='css/estilo.css' rel='stylesheet' type='text/css'>
<script>
function ajax (direccion, contenido)
{ //inicio funcion
var pagina_requerida = false;
if (window.XMLHttpRequest)
{//inicio if 1
// Si es Mozilla, Safari etc
pagina_requerida = new XMLHttpRequest ();
}//fin if 1
else if (window.ActiveXObject)
{//inicio else if
// pero si es IE
try
{//inicio try1
pagina_requerida = new ActiveXObject ("Msxml2.XMLHTTP");
}//fin try1
catch (e)
{//inicio catch
// en caso que sea una versión antigua
try
{//inicio try 2
pagina_requerida = new ActiveXObject ("Microsoft.XMLHTTP");
}//fin try 2
catch (e)
{
}
}//fin catch
}//fin else if
else
return false;
pagina_requerida.onreadystatechange = function ()
{
// función de respuesta
cargarpagina (pagina_requerida, contenido);
}
pagina_requerida.open ('GET', direccion,true); // asignamos los métodos open y send
pagina_requerida.send (null);
}//fin funcion llamarasincrono
function cargarpagina (pagina_requerida, contenido)
{
if ((pagina_requerida.readyState == 4) && (pagina_requerida.status == 200))
document.getElementById (contenido).innerHTML = pagina_requerida.responseText;
}
</script>
<div id='menu'>
<a href="javascript:ajax('ingreso.php','contenidos');">ingreso</a>
</div>
<div id='contenidos'>
</div>
</body>
</html>
este es codigo.js que ocupo en ingreso.php
Código PHP:
function ajax()
{
var xmlHttp;
try
{
xmlHttp=new XMLHttpRequest();
return xmlHttp;
}
catch (e)
{
// Internet Explorer
try
{
xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
return xmlHttp;
}
catch (e)
{
try
{
xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
return xmlHttp;
}
catch (e)
{
alert("navegador no soportado");
return false;
}
}
}
}
/******************************************************************/
function ajaxformulario()
{
var rut,nombre,ajaxx;
rut = document.getElementById('rut').value;
nombre = document.getElementById('nombre').value;
ajaxx=ajax();
ajaxx.open("POST","proceso_ingreso.php",true);
ajaxx.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
ajaxx.onreadystatechange=function()
{
if (ajaxx.readyState==4)
{
if (ajaxx.status==200)
{
document.getElementById('capa').innerHTML=ajaxx.responseText;
}
}
}
ajaxx.send("&rut="+rut+"&nombre="+nombre);
}
este es mi formulario
Código PHP:
<html>
<head>
<title>formulario</title>
<script src='js/codigo.js'></script>
</head>
<body>
<form action='#' method='post' >
rut:<input type='text' name='rut' id='rut'><br>
nombre:<input type='text' name='nombre' id='nombre'><br>
<input type='button' value='enviar'onclick="ajaxformulario()">
</form>
<div id="capa">
</div>
</body>