Foros del Web » Programando para Internet » Javascript » Frameworks JS »

Ayuda con ajax+formulario

Estas en el tema de Ayuda con ajax+formulario en el foro de Frameworks JS en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 07/06/2007, 19:49
 
Fecha de Ingreso: febrero-2006
Mensajes: 446
Antigüedad: 18 años, 2 meses
Puntos: 3
Ayuda con ajax+formulario

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 (direccioncontenido)
//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_requeridacontenido);
    }
    
pagina_requerida.open ('GET'direccion,true); // asignamos los métodos open y send
    
pagina_requerida.send (null);


    }
//fin funcion llamarasincrono
function cargarpagina (pagina_requeridacontenido)
{
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> 
  #2 (permalink)  
Antiguo 08/06/2007, 02:14
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Re: Ayuda con ajax+formulario

Hola:

Parece que la ruta al js no la debes tener bien... como son pocas líneas, podrías insertar el código en la misma página... aunque si el código lo pretendes enlazar mediante la llamada a ajax no te va a servir, porque ajax solo recibe texto plano o xml...

Lo que noto es que haces enlaces muy raros

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #3 (permalink)  
Antiguo 08/06/2007, 10:51
 
Fecha de Ingreso: febrero-2006
Mensajes: 446
Antigüedad: 18 años, 2 meses
Puntos: 3
Re: Ayuda con ajax+formulario

Cita:
Iniciado por caricatos Ver Mensaje
Hola:

Parece que la ruta al js no la debes tener bien... como son pocas líneas, podrías insertar el código en la misma página... aunque si el código lo pretendes enlazar mediante la llamada a ajax no te va a servir, porque ajax solo recibe texto plano o xml...

Lo que noto es que haces enlaces muy raros

Saludos
En index.php quiero ocupar ajax para no recargar la pagina cada vez que se haga click en un enlace,eso me funciona bien y me llama a la pagina del formulario(ingreso.php),pero al ingresar los datos en el formulario me sale el error:
Código:
ajaxformulario is not defined
,ese error solo me sale si accedo a la pagina desde index.php,es decir
Código:
http://localhost/index.php
,en cambio si accedo desde
Código:
http//localhost/ingreso.php
no me sale ese error y me envia los datos correctamente al archivo php que se conecta a la base de datos.

como puedo solucionar ese problema?
gracias

pd:en ingreso.php llamo de esta forma al archivo js
Código PHP:
<script languaje='Javascript' src='js/codigo.js' type="text/JavaScript"></script> 
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:00.