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

Problema Formulario XMLHttpRequest

Estas en el tema de Problema Formulario XMLHttpRequest en el foro de Frameworks JS en Foros del Web. Hola buenas, Llevo mucho con PHP y Mysql y bueno, he decidido al fin dar el paso a AJAX, o la base. En fin, que ...
  #1 (permalink)  
Antiguo 27/09/2008, 16:48
 
Fecha de Ingreso: septiembre-2008
Mensajes: 91
Antigüedad: 15 años, 7 meses
Puntos: 1
Exclamación Problema Formulario XMLHttpRequest

Hola buenas,
Llevo mucho con PHP y Mysql y bueno, he decidido al fin dar el paso a AJAX, o la base.
En fin, que he usado una funcion sencilla: XMLHttpRequest y bueno, funciona de maravilla:

Código PHP:
function llamarasincrono (urlid_contenedor)
{
        
    var 
pagina_requerida false;
    if (
window.XMLHttpRequest)
    {
        
// Si es Mozilla, Safari etc
        
pagina_requerida = new XMLHttpRequest ();
    } else if (
window.ActiveXObject)
    {
        
// pero si es IE
        
try 
        {
            
pagina_requerida = new ActiveXObject ("Msxml2.XMLHTTP");
        }
        catch (
e)
        {
            
// en caso que sea una versión antigua
            
try
            {
                
pagina_requerida = new ActiveXObject ("Microsoft.XMLHTTP");
            }
            catch (
e)
            {
            }
        }
    } 
    else
    return 
false;
    
pagina_requerida.onreadystatechange = function ()
    {
        
// función de respuesta
        
cargarpagina (pagina_requeridaid_contenedor);
    }

    
pagina_requerida.open ('GET'urltrue); // asignamos los métodos open y send
    
    
pagina_requerida.send (null);

}
// todo es correcto y ha llegado el momento de poner la información requerida
// en su sitio en la pagina xhtml
function cargarpagina (pagina_requeridaid_contenedor)
{
        
    if(
pagina_requerida.readyState == 4){
    
document.getElementById (id_contenedor).innerHTML pagina_requerida.responseText;
    } else {
document.getElementById (id_contenedor).innerHTML '<table valign="middle" width="100%" border="0" cellspacing="0" cellpadding="0"><tr><td height=350 align="center"><img src="carga.gif"></td> </tr></table>';
}

El enlace habria de incluir:

Código PHP:
href="javascript:llamarasincrono('portada_estrenos_list.php?ir=uestr', 'contenidos');" 
Y el contenido dinamico aparecería obviamente sin la recarga de la página iria en un div o lo que sea con:

Código PHP:
 id="contenidos" 
En fin, que ahora lo que quiero es, mediante un form, enviar datos via GET o POST para enviar datos a search.php, que aparezca en el div de id="contenidos".
¿Como lo hago?
Me ha salido algo como esto:

Código PHP:
<form name="form1" method="POST" action="javascript:llamarasincrono('search.php', 'contenidos');"
Esto para enviar los datos, pero nada, obviamente porque estoy accediendo a search.php sin utilizar metodos GET porque el form no lo puede interpretar...
No sé ajax, ni javascript, por lo que ando manco.

Muchas gracias y saludos.
Admin de Filmixt.com

Última edición por filmixt; 27/09/2008 a las 16:50 Razón: Mas completo.
  #2 (permalink)  
Antiguo 30/09/2008, 08:19
Avatar de Covids0020  
Fecha de Ingreso: septiembre-2003
Ubicación: España
Mensajes: 217
Antigüedad: 20 años, 7 meses
Puntos: 1
Respuesta: Problema Formulario XMLHttpRequest

Personalmente... prefiero usar JS no intrusivo, es decir, importar o incrustar scripts en el documento y dejar el (X)HTML lo más limpio posible. De una manera u otra deberías usar el evento onSubmit para capturar el envío del formulario además de que, como decía, puedes mantener un envío limpio sin JS.

Es decir, que el formulario llame a un script real y accesible (con o sin JS) mediante action y capturar los eventos con JS.

Código HTML:
<form name="form1" id="form1" method="POST" action="search.php o lo que tú veas" onsubmit="javascript:llamarasincrono('search.php', 'contenidos');"> 
Y mejor aún:
Script en la cabecera, importado... (ojo, no sé si va así el DOM, uso librerías y lo he olvidado xD ):
Código HTML:
<script type="text/javascript">
getElementById('form1').onsubmit(function(){
llamarasincrono('search.php', 'contenidos');
return false; // Forzar captura por JS
});
</script> 
Html:
Código HTML:
<form name="form1" id="form1" method="POST" action="search.php o lo que tú veas"> 
Más limpio y mejor, no? ;)

PD: El atributo name está casi extinto creo :P

Un saludo.
__________________
"La sabiduría comienza donde acaba el conocimiento". Yaris.
http://www.culturadigital.org

Última edición por Covids0020; 30/09/2008 a las 08:28
  #3 (permalink)  
Antiguo 01/10/2008, 14:16
 
Fecha de Ingreso: septiembre-2008
Mensajes: 91
Antigüedad: 15 años, 7 meses
Puntos: 1
Respuesta: Problema Formulario XMLHttpRequest

Muchas gracias por la respuesta, pero lo he probado y me temo que no funciona.
No obstante he logrado hacerlo gracias a alguien del msn.
Ahora envio los datos del formulario, lo paso por ajax, me obtiene los datos de los campos y envia los datos via POST a search.php.

Lo que si estoy desesperadamente buscando es algun sitio/guia/manual donde aprender ajax en condiciones, desde un nivel de programación php y mysql y empezar a aprender ajax (no se javascript, ni xml...)

Un saludo.
  #4 (permalink)  
Antiguo 01/10/2008, 16:31
Avatar de Covids0020  
Fecha de Ingreso: septiembre-2003
Ubicación: España
Mensajes: 217
Antigüedad: 20 años, 7 meses
Puntos: 1
Respuesta: Problema Formulario XMLHttpRequest

Ummm... :D , no esperaba que funcionara con un Copy&Paste ;)
Pero vamos... la idea es esa y es así de sencillo: Capturas el evento submit del formulario y ya haces lo que quieras desde ahí.

Sobre Ajax, bufff, yo sigo con mis 13..., aunque es bueno tener los conocimientos básicos, usa una librería no reinventes la rueda, con la que más a gusto te encuentres. Yo te recomiendo jQuery... esto es JavaScript, que hoy en día se suele confundir ya todo con AJAX, pero hoy por hoy representa sobre todo su eslogan: "Escribe menos, haz más". Implementar AJAX con ella te será muy fácil.

Yo empecé a tocar AJAX aprendiendo en su día con el framework Prototype y script.aculo.us (como mucha otra gente creo), creo que su documentación era bastante buena para tener los conocimientos básicos. Pero deberías buscar en google cosas XmlHttpRequest, XHR, etc... es la base de AJAX y de ahí ir subiendo y cogiendo enlaces que los habrá a cientos ;)

PD: Aunque el nombre de Ajax incluye XML, no necesariamente hay que usarlo, eso omitiendo que HTML, en mi opinión, debería ser XML :P

jQuery
XmlHttpRequest

Espero te sirva, un saludo.
__________________
"La sabiduría comienza donde acaba el conocimiento". Yaris.
http://www.culturadigital.org
  #5 (permalink)  
Antiguo 03/10/2008, 17:15
 
Fecha de Ingreso: septiembre-2008
Mensajes: 91
Antigüedad: 15 años, 7 meses
Puntos: 1
Respuesta: Problema Formulario XMLHttpRequest

Estupendo Covids, muchas gracias.
  #6 (permalink)  
Antiguo 07/10/2008, 10:48
 
Fecha de Ingreso: septiembre-2008
Mensajes: 6
Antigüedad: 15 años, 7 meses
Puntos: 0
Respuesta: Problema Formulario XMLHttpRequest

hola.

Alguien me podria ayudar para hacerlo en asp.net

gracias...
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 05:49.