Foros del Web » Programando para Internet » Javascript »

Como capturar VALUE del TEXTAREA del FCKEDITOR

Estas en el tema de Como capturar VALUE del TEXTAREA del FCKEDITOR en el foro de Javascript en Foros del Web. Hola! Estoy en que cuando intento capturar el value del fckeditor solo me captura el valor por defecto. Si modifico el contenido sigue apareciendo el ...
  #1 (permalink)  
Antiguo 03/06/2012, 08:21
 
Fecha de Ingreso: septiembre-2008
Mensajes: 211
Antigüedad: 15 años, 7 meses
Puntos: 2
Como capturar VALUE del TEXTAREA del FCKEDITOR

Hola!

Estoy en que cuando intento capturar el value del fckeditor solo me captura el valor por defecto. Si modifico el contenido sigue apareciendo el valor por defecto.

$('#id').val();

Alguien sabe como capturar el "current value" del textarea de FCKEDTIOR? (en formato html).

Muchas gracias.
  #2 (permalink)  
Antiguo 03/06/2012, 11:02
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 9 meses
Puntos: 1532
Respuesta: Como capturar VALUE del TEXTAREA del FCKEDITOR

Los textarea NO manejan su contenido con value, use innerHTML, lo que para jQuery es .html(), consulte un manual de formularios en HTML
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...
  #3 (permalink)  
Antiguo 03/06/2012, 13:27
Avatar de emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 16 años, 10 meses
Puntos: 1567
Respuesta: Como capturar VALUE del TEXTAREA del FCKEDITOR

Cita:
Iniciado por maycolalvarez Ver Mensaje
Los textarea NO manejan su contenido con value, use innerHTML, lo que para jQuery es .html(), consulte un manual de formularios en HTML
Permitime discrepar @maycolAlvarez

Código HTML:
Ver original
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
  2. "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  3. <html xmlns="http://www.w3.org/1999/xhtml">
  4. <title>titulo</title>
  5. <meta http-equiv="content-type" content="text/html; charset=utf-8" />
  6. <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
  7. <script type="text/javascript">
  8. //<![CDATA[
  9. /* script */
  10. function valor_tarea(){
  11. var elemento = document.forms[0].elements["texto"];
  12. var t = elemento.value;
  13. alert('valor con name: \n' + t);
  14. var valor = document.getElementById('texto');
  15. alert('valor con id: \n' + valor.value)
  16. // innerHTML
  17. alert('valor con innerHTML: \n' + valor.innerHTML)
  18. }
  19. //]]>
  20. </head>
  21. <form action="#" onsubmit="return valor_tarea();" method="post">
  22. <textarea name="texto" id="texto" rows="3" cols="25">
  23. párrafo en textarea
  24. otra linea
  25. <br />
  26. <input type="button" value="con jQuery" id="eltxt" /><br />
  27. <input type="submit" value="con Jscript" />
  28. </form>
  29.  
  30.  
  31. <script type="text/javascript">
  32. //<![CDATA[
  33. $(document).ready(function(){
  34. $('#eltxt').click(function(){
  35. var tx = $("#texto").val();
  36. alert('Con jquery + val(): ' + tx);
  37. var tx2 = $("#texto").text();
  38. alert('Con jquery + text(): ' + tx2);
  39. var tx3 = $("#texto").html();
  40. alert('Con jquery + html(): ' + tx3);
  41. });
  42. });
  43. //]]>
  44. </body>
  45. </html>

Como se ve, el val(), o value es recogido siempre.
Ahora en particular, para este caso, no habría que usar html() ó text() de jQuery ó innerHTML de javascript, porque en Firefox/Chrome, por ejemplo, siempre obtendríamos el contenido por defecto (no así en IE). Si el usuario modifica contenido solo se afecta el val() ó value, que en todos los navegadores se comportará igual
con respecto al problema de @mesoriginal, sin ver toda la script, asumo que esta definiendo
var tx = $("#texto").val();
fuera del evento click

Saludos

Saludos
__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.

Última edición por emprear; 03/06/2012 a las 13:58
  #4 (permalink)  
Antiguo 03/06/2012, 14:01
Avatar de IsaBelM
Colaborador
 
Fecha de Ingreso: junio-2008
Mensajes: 5.032
Antigüedad: 15 años, 10 meses
Puntos: 1012
Respuesta: Como capturar VALUE del TEXTAREA del FCKEDITOR

un error bastante común ya que estamos acostumbrados a que si a un elemento, textarea, no tienes atributo value, no se puede acceder a su valor usando dicho atributo

a mí me paso lo mismo
__________________
if(ViolenciaDeGénero) {alert('MUJER ASESINADA');}
  #5 (permalink)  
Antiguo 03/06/2012, 14:09
Avatar de emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 16 años, 10 meses
Puntos: 1567
Respuesta: Como capturar VALUE del TEXTAREA del FCKEDITOR

Cita:
Iniciado por IsaBelM Ver Mensaje
un error bastante común ya que estamos acostumbrados a que si a un elemento, textarea, no tienes atributo value, no se puede acceder a su valor usando dicho atributo

a mí me paso lo mismo
Como se vé en el ejemplo de mis post anterior, el textarea no tiene el atributo value definido, será necesario el name , el id, u ambos según como querramos identificar el elemento. Y para evitar problemas de compatibilidad, usar siempre val() ó value.
De hecho el atributo value en un textarea para xhtml
Error: there is no attribute "value"


Saludos
__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.
  #6 (permalink)  
Antiguo 03/06/2012, 14:19
Avatar de IsaBelM
Colaborador
 
Fecha de Ingreso: junio-2008
Mensajes: 5.032
Antigüedad: 15 años, 10 meses
Puntos: 1012
Respuesta: Como capturar VALUE del TEXTAREA del FCKEDITOR

Cita:
Iniciado por emprear Ver Mensaje
Como se vé en el ejemplo de mis post anterior, el textarea no tiene el atributo value definido, será necesario el name , el id, u ambos según como querramos identificar el elemento. Y para evitar problemas de compatibilidad, usar siempre val() ó value.
De hecho el atributo value en un textarea para xhtml
Error: there is no attribute "value"


Saludos
creo que no has interpretado bien mis palabras. estamos diciendo lo mismo. no se le puede asignar el atributo value
Cita:
<textarea>este es el valor</textarea>
y se accede a él, usando innerHTML o value. y el pensar que no se puede acceder a su valor usando value, es el error común del que hablaba.

con respecto a la compatibilidad, todos los navegadores aceptan innerHTML y value para leer el valor de un textarea. lo otro ya es jquery y ahí no entro
__________________
if(ViolenciaDeGénero) {alert('MUJER ASESINADA');}
  #7 (permalink)  
Antiguo 03/06/2012, 14:23
Avatar de masterpuppet
Software Craftsman
 
Fecha de Ingreso: enero-2008
Ubicación: Montevideo, Uruguay
Mensajes: 3.550
Antigüedad: 16 años, 3 meses
Puntos: 845
Respuesta: Como capturar VALUE del TEXTAREA del FCKEDITOR

El API tiene métodos para obtener el contenido, los has probado ?
__________________
http://es.phptherightway.com/
thats us riders :)
  #8 (permalink)  
Antiguo 03/06/2012, 14:54
Avatar de emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 16 años, 10 meses
Puntos: 1567
Respuesta: Como capturar VALUE del TEXTAREA del FCKEDITOR

Cita:
Iniciado por IsaBelM Ver Mensaje
con respecto a la compatibilidad, todos los navegadores aceptan innerHTML y value
Si comprendo, a lo que me refiero concretamente (y usando javascript puro exclusivamente) es que si por defecto en el textarea, supongamos tenemos lo siguiente

<textarea name="texto" id="texto" rows="3" cols="25">
párrafo en textarea
otra linea
</textarea>

y, durante la edición por parte del usuario se agrega esto

párrafo en textarea
otra linea
Tercera linea escrita por cliente

innerHTML en Firefox, chrome, opera y Safari, nos seguirá devolviendo
párrafo en textarea
otra linea


Solo IE iguala el texto del innerHTML al value, de ahi que yo señalé que para evitar problemas de compatibilidad se debe se usar value, que en todos los casos será siempre
párrafo en textarea
otra linea
Tercera linea escrita por cliente


SAludos
__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.
  #9 (permalink)  
Antiguo 03/06/2012, 15:15
Avatar de IsaBelM
Colaborador
 
Fecha de Ingreso: junio-2008
Mensajes: 5.032
Antigüedad: 15 años, 10 meses
Puntos: 1012
Respuesta: Como capturar VALUE del TEXTAREA del FCKEDITOR

que interesante!! si se escribe una nueva línea, el valor que obtenemos no incluye esa nueva línea. por el contrario si añadimos, con javascript, una nueva línea, sí se incluye
Cita:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Documento sin título</title>
<script type="text/javascript">
function fnc(){
alert(document.getElementById("texto").innerHTML);
}

function fnc2(){
document.getElementById("texto").innerHTML += '\r\ntercera línea';
}
</script>
</head>
<body>

<textarea name="texto" id="texto" rows="3" cols="25">
párrafo en textarea
otra linea
</textarea>

<input type="button" onclick="fnc()" value="ver valor" />
<input type="button" onclick="fnc2()" value="agregar" />

</body>
</html>
pero ie no respeta el salto de línea
__________________
if(ViolenciaDeGénero) {alert('MUJER ASESINADA');}
  #10 (permalink)  
Antiguo 03/06/2012, 15:35
Avatar de emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 16 años, 10 meses
Puntos: 1567
Respuesta: Como capturar VALUE del TEXTAREA del FCKEDITOR

Cita:
Iniciado por IsaBelM Ver Mensaje
que interesante!! si se escribe una nueva línea, el valor que obtenemos no incluye esa nueva línea. por el contrario si añadimos, con javascript, una nueva línea, sí se incluye

pero ie no respeta el salto de línea
más interesante todavía, habrá que tener cuidado con lo que se hace y lo que se pretende

Saludos
__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.
  #11 (permalink)  
Antiguo 07/06/2012, 14:46
 
Fecha de Ingreso: septiembre-2008
Mensajes: 211
Antigüedad: 15 años, 7 meses
Puntos: 2
Respuesta: Como capturar VALUE del TEXTAREA del FCKEDITOR

Hola a todos,

muchas gracias por sus respuestas el codigo en cuestion es este:

Código:
function saveContent(){
	var titleVar = $('#addTitle').val();
	var introVar = $('#addIntro').val();
	var htmlVar =  $('#editor_kama').attr('value');


	$.post('/ajax/functions.php',{action: "save", title: titleVar, intro: introVar, html: htmlVar}, function(data) {
  		  
		//location.reload();
	
	});

}

function submitAddContent(){
	$('#desaipublica').click(function(){
		saveContent();
	});

}

Por lo cual como dicre @emprear siempre obtendríamos el contenido por defecto. Al ejecutar el evento .click() abro un modal donde hay un formulario con 2 inputs i 1 textarea (el de fckeditor) luego al pulsar otro evento .click() este manda los parametros mediante $.post() en JSON.

Lo que hace que reciba SIEMPRE el texto por defecto por mucho que este se canvie.

Muchas gracias a todos,

Saludos!

Etiquetas: fckeditor, html, textarea
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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 09:57.