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

Problema con llenar textarea a travez de AJAX

Estas en el tema de Problema con llenar textarea a travez de AJAX en el foro de Frameworks JS en Foros del Web. Hola, tengo en la db guardados unos datos, y los traigo con ajax (con xml) a un formulario, el problema es que el campo del ...
  #1 (permalink)  
Antiguo 02/12/2008, 16:59
Avatar de hgp147  
Fecha de Ingreso: diciembre-2006
Ubicación: Buenos Aires, Argentina
Mensajes: 980
Antigüedad: 18 años
Puntos: 36
Problema con llenar textarea a travez de AJAX

Hola, tengo en la db guardados unos datos, y los traigo con ajax (con xml) a un formulario, el problema es que el campo del textarea no carga la información de la db, el otro campo (nombre) lo carga bien.
Me fije con Firebug y si esta el comentario que tendria que llenarse, pero no se llena en el form como recien dije.
Solamente se llena cuando el comentario es de una sola linea (usando .value), si contiene más de una ya no se carga. También probe con innerHTML pero ni siquiera carga el de una linea.
El tipo del campo de la db del comentario es: longtext


Tengo un archivo html que contiene:

Código HTML:
<input type="button" value=":" name="input" onClick="FAjax2('completar.php','empresa='+document.getElementById('empresa').value);">

<input name="empresa" type="text" id="empresa" readonly />
<input name="nombre" type="text" id="nombre" readonly />
<textarea name="comentario" id="comentario" cols="40" rows="3"></textarea> 


Código:
function FAjax2 (url,valores){

ajax=nuevoAjax();
ajax.open("POST", url,true);
ajax.onreadystatechange=function() {


        if (ajax.readyState==4){

        

	// Obtengo el XML y separo sus nodos
	var resp=ajax.responseXML;
	var javascript=resp.getElementsByTagName("javascript")[0].childNodes[0].data;
			
	// Creo el nuevo JS
	var etiquetaScript=document.createElement("script");
	document.getElementsByTagName('head')[0].appendChild(etiquetaScript);
	etiquetaScript.text=javascript;

        }
        
}


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

ajax.send(valores);
        
      
}



completar.php

Código PHP:
<?
$xml
="<?xml version='1.0' encoding='ISO-8859-1'?>";
$xml.="<code>";
$xml.="<javascript><![CDATA[

document.getElementById('nombre').value=\"$nombre\"; 
document.getElementById('comentario').innerHTML=\"$comentario\";
]]></javascript>"
;

$xml.="</code>";
header("Content-type: text/xml");
echo 
$xml;
?>
Les agradezco mucho su ayuda. Gracias.
__________________
Spread Firefox | Download Day 2008
¡Únete en nuestra misión para alcanzar el Record Guinness al software más descargado en 24 horas! http://www.spreadfirefox.com/es-ES/worldrecord/
  #2 (permalink)  
Antiguo 02/12/2008, 21:16
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 6 meses
Puntos: 2135
Respuesta: Problema con llenar textarea a travez de AJAX

Prueba en tu completar hacer un $comentario = str_replace( '\n', '\\n', $comentario ); para poner los valores, también usa .value en lugar de innerHTML.

Saludos.
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 23:42.