Ver Mensaje Individual
  #1 (permalink)  
Antiguo 23/10/2008, 13:05
dioner911
 
Fecha de Ingreso: septiembre-2003
Mensajes: 2
Antigüedad: 20 años, 8 meses
Puntos: 0
XAJAX problemas con IE

Tengo un problemita apenas empece a implementar XAJAX en lo que es el rediseño de mi sitio y ocupo la recion mas nueva xajax 0.5 y todo funciona en FF y tmb en Safari En IE se ejecuta mi peticion php pero n actualiza mi DIV utilizando innerhtml dejo mis codigos

Explicacion:

para crear la plantilla de comentarios mando a imprimir todo ya que todas las funciones tienen return despues al hacer onclick se ejecuta e inserta el comentario hasta aqui todo bien en los navegadores IE, FF, SAFARI despues actualiza el div "hidd" ya con el comentario insertado pero esto no sucede en IE realiza la consulta y agrega el comentario pero no actuliza el div alguien podria explicarme por que?¿ y alguna alternativa?¿

en funcionamiento http://www.spoot.com.mx/beta/?id=links&show=53szvsayqh

FUNCION QUE ESTA REGISTRADA EN XAJAX Y QUE LLAMA A LAS DEMAS FUNCIONES
Código PHP:
function insertComment($data){ 
$vars varsIndeed();
 
$time=(date(YmdHis));
 
$dates=date(Ymd);
 
//sentencias 
$query"INSERT INTO {$vars[1]} (id, user_name, email, text, date, time) VALUES ('$vars[0]', '$data[user_name_c1]', '$data[emailField]', '$data[text]', '$dates', '$time')";
$result mysql_query($query);
$newContent.= createRecordset();
$newContent.="Comentario Añadido ¿Otro?";
$newContent.= setCommentForm();
setcookie("comentarios[1]","$data[user_name_c1]"time() + 60*60*24*90);
setcookie("comentarios[2]","$data[emailField]"time() + 60*60*24*90);
$objResponse = new xajaxResponse();
$objResponse->assign("hidd","innerHTML"$newContent);
return 
$objResponse;


FUNCION QUE REALIZA Y REALIZARIA DE NUEVO EL CONTENIDO DEL DIV Y QUE AL SER INSERTADO UN NUEVO COMENTARIO APERECERIA AHI.
Código PHP:
function createRecordset(){
$vars varsIndeed();
$query="SELECT * FROM $vars[1] WHERE id='$vars[0]' ORDER BY time DESC";
$recordset=mysql_query($query);
$totalRecords =mysql_num_rows($recordset);
$x=1;
if(
$totalRecords >= 1) { 
  
$html.="<h2>Comentarios</h2>
            <ol id='comments'>"
;
while (
$rowSelected mysql_fetch_assoc($recordset)){
     if(
$x==6){
  }
  if(
$x%2==0)
  
$class="liPar";
  else
  
$class="liImpar";
$html.="<li class='$class'>
<a name='usrcomment{$x}' id='usrcomment{$x}'></a>
<p>"
;
$mesaggin=ucfirst(strtolower(bb2html($rowSelected['text']))); 
$html.="{$mesaggin}</p>
<p class='userComment'>"
.ucwords($rowSelected['user_name']); 
$fechaGenerada generaFecha("%d, %B %y",$rowSelected['date']);
$nexOne$x+1;
$html.= "<span class='fechaPost'>{$fechaGenerada}</span>
          <a href='#usrcomment{$nexOne}' title='Siguiente Comentario'>#</a>
      </p>
</li>"
;
    if(
$x>=&& $x==$totalRecords){
    }
    
$x++;
     }
$html.= "</ol>";
    
mysql_free_result($recordset);
    }
        return 
$html;
    } 
Con este Creo el formulario
Código PHP:
function setCommentForm(){
if(isset(
$_COOKIE[comentarios])){
    
$name_c1=$_COOKIE[comentarios][1];
    
$mail=$_COOKIE[comentarios][2];
    }
$html.="<form id='comments_form'>
<a name='comments' id='comments'></a>
<h1>Deja Un Comentario</h1>
<br/>
      <label>Tu Nombre:</label>
    <span id='usrName'>
    <input name='user_name_c1' type='text' class='inputbox' tabindex='1' value='{$name_c1}' size='30' maxlength='15'/>
    <span class='textfieldRequiredMsg'>Escribe tu nombre.</span></span>  
    <br/>
      <label>Tu Correo:</label>
      <span id='usrMail'>
      <input name='emailField' type='text' class='inputbox' id='emailField' tabindex='2' value='{$mail}' size='30'/>
    <span class='textfieldRequiredMsg'>Escribe tu correo.</span><span class='textfieldInvalidFormatMsg'>Correo no valido.</span></span>    
      <br/>
      <label>Comentario:</label>
        <span id='commentsUsr'>
      <textarea name='text' cols='30' rows='7' class='inputbox' id='text' tabindex='3'></textarea>
    <span class='textareaRequiredMsg'>Campo vacio.</span></span>
    <br/>
      <label>&nbsp;</label>"
;
      
$prm='"comments_form"';
      
$html.="<input name='commnetSend' type='button' class='buttones' id='commnetSend' value='Envia' onclick='xajax_insertComment(xajax.getFormValues({$prm}))'/>
      <input name='button3' type='reset' class='buttones' id='button3' value='Limpiar' />
  </form>
<script type='text/javascript'>
<!--
var usrName = new Spry.Widget.ValidationTextField('usrName', 'none', {validateOn:['blur', 'change']});
var usrMail = new Spry.Widget.ValidationTextField('usrMail', 'email', {validateOn:['blur', 'change']});
var commentsUsr = new Spry.Widget.ValidationTextarea('commentsUsr', {validateOn:['blur', 'change']});
//-->
</script>"
;
return 
$html;

Explicacion:

para crear la plantilla de comentarios mando a imprimir todo ya que todas las funciones tienen return despues al hacer onclick se ejecuta e inserta el comentario hasta aqui todo bien en los navegadores IE, FF, SAFARI despues actualiza el div "hidd" ya con el comentario insertado pero esto no sucede en IE realiza la consulta y agrega el comentario pero no actuliza el div alguien podria explicarme por que?¿ y alguna alternativa?¿

Saludos gracias