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

Ayuda con una tonteria

Estas en el tema de Ayuda con una tonteria en el foro de Frameworks JS en Foros del Web. Tengo una pagina con noticias: (con mod_rewrite y tal) http://localhost/miweb/noticias/4/2008/10/14/sadsad.htm La cosa es que estuve planificando un sistema de comentarios y bien. Lo he colocado ...
  #1 (permalink)  
Antiguo 16/10/2008, 09:19
DMR
 
Fecha de Ingreso: noviembre-2003
Mensajes: 105
Antigüedad: 21 años
Puntos: 0
Pregunta Ayuda con una tonteria

Tengo una pagina con noticias: (con mod_rewrite y tal)

http://localhost/miweb/noticias/4/2008/10/14/sadsad.htm

La cosa es que estuve planificando un sistema de comentarios y bien.

Lo he colocado abajo y al pulsar en enviar comentario esta puesto:

<input type="submit" class="button" value="Publicar Comentario" onclick="publicarComentario('postComentario.php',' ','si','divComentarios');" />

El codigo de publicar comentario es el siguiente

Código PHP:
function publicarComentario(_pagina,valorget,valorpost,capa){
    
    
ajaxNoticia=objetus(_pagina);
    if(
valorpost!=""){
        
ajaxNoticia.open("POST"_pagina+"?"+valorget+"&tiempo="+new Date().getTime(),true);
    } else {
        
ajaxNoticia.open("GET"_pagina+"?"+valorget+"&tiempo="+new Date().getTime(),true);
    }

    
ajaxNoticia.onreadystatechange=function() {    
        if (
ajaxNoticia.readyState==1){            
                
document.getElementById(capa).innerHTML '<div style="background-color:#fff; width:392px; margin:20px auto; text-align:center; padding:5px; color:#ccc; font-size:2em">Cargando <img src="working.gif" /></div>';                                
        }
        
        
alert(ajaxNoticia.readyState);

        if (
ajaxNoticia.readyState==4) {            
            if(
ajaxNoticia.status==200){  
                    
document.getElementById(capa).innerHTML 'si';            
                
document.getElementById(capa).innerHTML ajaxNoticia.responseText;            
            } 
/*else if(ajax.status==404){
                capa.innerHTML = "La direccion no existe";
            } else {
                capa.innerHTML = "Error: ".ajax.status;
            }*/
        
}        
    }
    
    if(
valorpost!=""){
        
ajaxNoticia.setRequestHeader("Content-Type""application/x-www-form-urlencoded");
        
ajaxNoticia.send(valorpost);
    } else {
        
ajaxNoticia.send(null);
    }


Y el resultado es:

cuando pincho en enviar comentario en el divComentarios me sale lo de cargando, pero despues desaparece y queda igual que estaba...

He comprobado los estado del ajaxNoticia.readyState y hay un momento que sale el 400 y despues el 200, pero despues cuando se hace el

ajaxNoticia.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
ajaxNoticia.send(valorpost);

se me borra.... y no lo entiendo.

¿el problema puede ser por el valor post?




------------------------------------------------------------------------------------------

he probado con este otro pero me da el mismo resultado

Código PHP:
function publicarComentario2(capa){
    var 
t1t2contenedor;
    
contenedor document.getElementById(capa);
    
t1 document.getElementById('nombre').value;
    
t2 document.getElementById('comentario').value;

    
    
ajaxComentario=objetus();
    
    
ajaxComentario.open("POST""publicarComentario.php?pagina=1",true);

    
ajaxComentario.onreadystatechange=function() {
        

        if (
ajaxComentario.readyState==1){            
                
document.getElementById("divComentarios").innerHTML '<div style="background-color:#fff;">Cargando <img src="working.gif" /></div>';                                
                
alert('cargando');                
        }


        if (
ajaxComentario.readyState==4) {            
            if(
ajaxNoticia.status==200){  
            
                                
alert('se va a publicar');                
                
contenedor.innerHTML ajaxComentario.responseText;                                
            } 
/* else if(ajax.status==404){
                contenedor.innerHTML = "La direccion no existe";
            } else {
                contenedor.innerHTML = "Error: ".ajax.status;
            }*/
        
}        
    
        
    }
    
    
alert('ya deberia estar publicado');
    
ajaxComentario.setRequestHeader("Content-Type""application/x-www-form-urlencoded");
    
ajaxComentario.send("t1="+t1+"&t2="+t2)

  #2 (permalink)  
Antiguo 16/10/2008, 09:46
 
Fecha de Ingreso: julio-2008
Ubicación: Alcañiz-Teruel-España
Mensajes: 182
Antigüedad: 16 años, 4 meses
Puntos: 5
Respuesta: Ayuda con una tonteria

Prueba asi

Código PHP:

 
function publicarComentario(_pagina,valorget,valorpost,capa){
    
    
ajaxNoticia=objetus(_pagina);
    if(
valorpost!=""){
        
ajaxNoticia.open("POST"_pagina+"?"+valorget+"&tiempo="+new Date().getTime(),true);
    } else {
        
ajaxNoticia.open("GET"_pagina+"?"+valorget+"&tiempo="+new Date().getTime(),true);
    }

/////////////////////////////////////////////////////////
    
if(valorpost!=""){
        
ajaxNoticia.setRequestHeader("Content-Type""application/x-www-form-urlencoded");
        
ajaxNoticia.send(valorpost);
    } else {
        
ajaxNoticia.send(null);
    }
/////////////////////////////////////////////////////////

    
ajaxNoticia.onreadystatechange=function() {    
        if (
ajaxNoticia.readyState==1){            
                
document.getElementById(capa).innerHTML '<div style="background-color:#fff; width:392px; margin:20px auto; text-align:center; padding:5px; color:#ccc; font-size:2em">Cargando <img src="working.gif" /></div>';                                
        }
        
        
alert(ajaxNoticia.readyState);

        if (
ajaxNoticia.readyState==4) {            
            if(
ajaxNoticia.status==200){  
                    
document.getElementById(capa).innerHTML 'si';            
                
document.getElementById(capa).innerHTML ajaxNoticia.responseText;            
            } 
/*else if(ajax.status==404){
                capa.innerHTML = "La direccion no existe";
            } else {
                capa.innerHTML = "Error: ".ajax.status;
            }*/
        
}        
    }
    


__________________
Si quieres puedes y si puedes debes. Imposible is nothing!!!
  #3 (permalink)  
Antiguo 16/10/2008, 15:17
DMR
 
Fecha de Ingreso: noviembre-2003
Mensajes: 105
Antigüedad: 21 años
Puntos: 0
Respuesta: Ayuda con una tonteria

Sigue igual, pero me parece que lo he solucionado

el fallo estaba en que tenia que poner:

<form name="nuevoComentario" method="post" action="" onsubmit="publicarComentario('divComentarios'); return false;" />

y antes tenia puesto

<form name="nuevoComentario" method="post" action="" onsubmit="publicarComentario('divComentarios');" />
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 06:38.