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>=6 && $x==$totalRecords){
}
$x++;
}
$html.= "</ol>";
mysql_free_result($recordset);
}
return $html;
}
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> </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;
}
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