Foros del Web » Programando para Internet » Javascript »

Problema con el innerHTML

Estas en el tema de Problema con el innerHTML en el foro de Javascript en Foros del Web. Hola, tengo un problema con el innerHTML al quere colocar un valor de B&B. Debido a que luego que lo coloco el resultado que me ...
  #1 (permalink)  
Antiguo 06/05/2011, 09:54
 
Fecha de Ingreso: febrero-2011
Mensajes: 7
Antigüedad: 13 años, 2 meses
Puntos: 0
Pregunta Problema con el innerHTML

Hola, tengo un problema con el innerHTML al quere colocar un valor de B&B. Debido a que luego que lo coloco el resultado que me muestra es el siguiente B. Al parecer me elimina todo lo que viene despues del &. No entiendo debido a que. Si seria tan amables de explicarme y darme una solucion. Aqui les dejo el codigo para que me entiendan. A y este problema solo me da en el IE en el Chrome si me funciona con normalidad
Saludos

<html>
<head>
<title>Probando</title>
<script type="text/javascript" language="JavaScript">

function color(campo){

document.getElementById("lblcantidad").innerHTML=c ampo.value;

}

</script>
</head>
<body>
<h2>Problema con el B&B</h2>
<form name="form">
<input type="text" name="txtprueba" value="B&B" onblur="color(this)" />
<br />
<label id="lblcantidad"></label>
</form>
</body>
</html>
  #2 (permalink)  
Antiguo 06/05/2011, 10:28
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años
Puntos: 1485
Respuesta: Problema con el innerHTML

buenas,
lo que sucede es que estas usando innerHTML. recuerda que esta propiedad acepta codigo html y el navegador debe analizarlo. de modo que ciertos caracteres en html tienen un significado especial para el analizador. el ampersand (&) es uno de ellos el cual se utiliza para introducir entidades. en este caso el navegador entiende que has intentado introducir una entidad, pero como no exsite entonces no muestra nada. en algunos navegadores, si la entiendad no se encuentra entonces introduce el texto de forma literal. si quieres mostrar dicho caracter, debes usar la entidad que representa a este, &amp;
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #3 (permalink)  
Antiguo 06/05/2011, 11:53
 
Fecha de Ingreso: febrero-2011
Mensajes: 7
Antigüedad: 13 años, 2 meses
Puntos: 0
De acuerdo Respuesta: Problema con el innerHTML

Gracias por tu respuesta zerokilled. Bueno necesito que me llegue ese valor a si esque modifique el codigo. Si alquien lo necesita aqui lo pongo. Gracias por tu ayuda. Saludos

<html>
<head>
<title>Probando</title>
<script type="text/javascript" language="JavaScript">

function color(campo){
var nuevo="";
var longitud=campo.value;
var numero=longitud.length;
for(var i=0;i<numero;i++){
valor=longitud.charAt(i);
if(valor=="&"){
nuevo+="&amp;";
}else{
nuevo+=valor;
}
}
document.getElementById("lblcantidad").innerHTML=n uevo;

}

</script>
</head>
<body>
<h2>Problema con el B&B</h2>
<form name="id">
<input type="text" name="txtprueba" value="B&B" onblur="color(this)" />
<br />
<label id="lblcantidad"></label>
</form>
</body>
</html>
  #4 (permalink)  
Antiguo 06/05/2011, 14:15
Avatar de _cronos2
Colaborador
 
Fecha de Ingreso: junio-2010
Mensajes: 2.062
Antigüedad: 13 años, 10 meses
Puntos: 310
Respuesta: Problema con el innerHTML

También con regexps:
Código Javascript:
Ver original
  1. str = str.replace(/&/g, '&amp;');
Saludos (:
__________________
" Getting older’s not been on my plans
but it’s never late, it’s never late enough for me to stay. "
Cigarettes - Russian Red

Etiquetas: innerhtml
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 02:32.