jummmm... acabo de darme cuenta que el problema viene de antes pero sigo sin poder solucionarlo.
La función completa de javascript donde pensaba que estaba el problema es esta:
Código Javascript
:
Ver originalfunction responder_foro(id_mensaje, texto_mensaje)
{
mensaje_foro.respuesta.value=id_mensaje;
texto_mensaje = texto_mensaje.replace(/["]/g,"\"");
texto_mensaje=texto_mensaje.replace(/\n/g,"<BR>");
document.getElementById('respondiendo').innerHTML="<P>"+texto_mensaje+"</P>";
document.getElementById('responder').style.display='block';
}
El parámetro llamado "texto_mensaje" que recibe, viene de un campo tipo hidden que contiene dicho texto...
Código HTML:
Ver original<INPUT type="hidden" name="texto_mensaje<?php echo $i; ?>" value="
<?php echo $fila3['texto_mensaje_foro']; ?>">
...donde $fila3['texto_mensaje_foro'] ha sido extraido de la BD.
Puse el campo hidden como tipo text y me di cuenta que es ahi donde está el problema. Es ahí donde no me escribe ya todo lo que hay a partir de las primeras comillas, ni las primeras comillas tampoco, es decir:
Si el texto es este: Probando "esto esta entre comillas"...
... me escribe en el campo: Probando
Comprobé que en la base de datos está el texto completo con las comillas, y que la pagina que guardaba ese valor en la BD pasaba antes el addslashes a la variable.
Aún asi he probado a poner addslashes también cuando escribo el texto en el value del campo:
Código HTML:
Ver original<INPUT type="text" name="texto_mensaje<?php echo $i; ?>" value="
<?php echo addslashes($fila3['texto_mensaje_foro']); ?>">
Pero entonces pasa lo siguiente...
Si el texto es este: Probando "esto esta entre comillas"...
... me escribe en el campo: Probando \
A ver si alguien sabe que estoy haciendo mal, que me está desesperando ya bastante este problema.
PD: Igual habia que cambiarlo de foro ya que este problema ha dejado de ser de javascript...