Foros del Web » Programando para Internet » Javascript »

Pasar un texto largo a una función

Estas en el tema de Pasar un texto largo a una función en el foro de Javascript en Foros del Web. Hola, tengo una función que muestra el texto que le pasas en un div de la página. El problema que tengo es que cuando le ...
  #1 (permalink)  
Antiguo 18/02/2005, 10:27
Avatar de TomaHawkk  
Fecha de Ingreso: diciembre-2001
Ubicación: España
Mensajes: 422
Antigüedad: 22 años, 4 meses
Puntos: 1
Exclamación Pasar un texto largo a una función

Hola,

tengo una función que muestra el texto que le pasas en un div de la página.
El problema que tengo es que cuando le paso un texto con un salto de linea me dice que hay un error, por lo demás funciona bien.

¿cómo podría solucionar esto?

Un saludo!
__________________
ThE MaTriX HaS YoU
  #2 (permalink)  
Antiguo 18/02/2005, 11:18
Avatar de lalogrosz  
Fecha de Ingreso: mayo-2002
Ubicación: Capital Federal
Mensajes: 339
Antigüedad: 22 años
Puntos: 6
Fijate si anda

Proba de sacarle al string antes de mandarlo los saltos de linea. Podes hacerlo con esto

texto = texto.replace (chr(13),"|");

una vez que lo pasas a la funcion lo volves a reemplazar como estaba antes.

Espero que sirva
  #3 (permalink)  
Antiguo 20/02/2005, 12:55
(Desactivado)
 
Fecha de Ingreso: noviembre-2002
Ubicación: Ciudad Autónoma de Buenos Aires
Mensajes: 2.367
Antigüedad: 21 años, 6 meses
Puntos: 317
Hola TomaHawkk , lalogrosz :

sería interesante saber cómo se muestra el texto. FF no acepta saltos de línea en un alerta, por ejemplo.

Por otro lado, el salto de línea no es solamente el caracter 13.

retorno de carro javascript

saludos

furoya
  #4 (permalink)  
Antiguo 22/02/2005, 08:57
Avatar de TomaHawkk  
Fecha de Ingreso: diciembre-2001
Ubicación: España
Mensajes: 422
Antigüedad: 22 años, 4 meses
Puntos: 1
Hola,

Con el replace no me funciona, me da un error.

No lo quiero mostrar en un alert, quiero pasarlo a una función y que me la muestre en un div con innerHtml.

Alguna opción más?

Un saludo.
__________________
ThE MaTriX HaS YoU
  #5 (permalink)  
Antiguo 23/02/2005, 13:44
(Desactivado)
 
Fecha de Ingreso: noviembre-2002
Ubicación: Ciudad Autónoma de Buenos Aires
Mensajes: 2.367
Antigüedad: 21 años, 6 meses
Puntos: 317
¿Averiguaste por qué da error con replace?.
¿Leíste que los navegadores escriben dos caracteres por cada "salto de línea"?
¿Sabes que el salto de línea que estamos mencionando no se ve con innerHTML, ya que en ese lenguaje se usa la etiqueta BR ?

Como no pones ejemplo del código voy a dejarte uno para que experimentes.
El innerText no funciona en Mozila.

Código:
 
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

<HTML><HEAD>

<script>
var texto = "QWERTYUIOP \r\n<br>\r\nQWERTYUIOP";

function llenaUno(){
document.getElementById("divUno")
.innerHTML = texto;
}

function llenaDos(){
document.getElementById("divDos")
.innerHTML = document.getElementById("divUno")
.innerHTML;
}

function llenaTres(){
document.getElementById("txtUno")
.value = document.getElementById("divUno")
.innerHTML;
}

function llenaCuatro(){
document.getElementById("txtDos")
.value = texto;
}

</script>

<style>
div{border:solid 5px black; height:20px}
textarea{width:100%; height:100px}
</style>

</HEAD>
<BODY>
<p>

<input type="button" value="CLICK PARA LLENAR EL PRIMER DIV CON TEXTO" onclick = "llenaUno()">
<br>
<div id="divUno"></div>
</p><p>
<input type="button" value="CLICK PARA LLENAR EL SEGUNDO DIV CON TEXTO DE PRIMER DIV" onclick = "llenaDos()">
<br>
<div id="divDos"></div>
</p><p>
<input type="button" value="CLICK PARA LLENAR EL TEXTAREA CON HTML DE PRIMER DIV" onclick = "llenaTres()">
<br>
<TEXTAREA id="txtUno"></textarea>
</p><p>
<input type="button" value="CLICK PARA LLENAR EL TEXTAREA CON TEXTO ORIGINAL" onclick = "llenaCuatro()">
<br>
<TEXTAREA id="txtDos"></textarea>
</p>
</BODY></HTML>
saludos

furoya
  #6 (permalink)  
Antiguo 24/02/2005, 05:17
Avatar de TomaHawkk  
Fecha de Ingreso: diciembre-2001
Ubicación: España
Mensajes: 422
Antigüedad: 22 años, 4 meses
Puntos: 1
Hola,

mi funcion:
Código:
function MostrarNotas(sTexto, sPersona) {
  var oDiv;
  oDiv = document.getElementById("divNotas");
  if (oDiv != null) {
  oDiv.innerHTML = '<B><%=getString("Texto_9")%>&nbsp;' + sPersona   + ':</B><BR>' + sTexto + '</span>'; }
}
Llamada a la función:
Código:
<input type="button" onclick="MostrarNotas(sTexto,sPersona);" value="Notas">
Problema:
Cuando sTexto tenía un retorno de carro fallaba la función. Ese parámetro se lee de un archivo Xml generado en Asp.

Solución:
Quitar Retorno de carro con un "Replace" y posteriormente utilizar "Server.HTMLencode" para que el Xml se forme correctamente y después no de problemas al pasarlo a la función en JavaScript.

Gracias por la ayuda,
Un saludo.
__________________
ThE MaTriX HaS YoU
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 13:46.