Foros del Web » Programando para Internet » Javascript »

getElementById(nombre_de_objeto)

Estas en el tema de getElementById(nombre_de_objeto) en el foro de Javascript en Foros del Web. Tengo un div con su respectiva id, paso por parametro a una función el nombre del div, luego lo asigno en una variable y trato ...
  #1 (permalink)  
Antiguo 07/07/2009, 13:17
Avatar de pcarvajal  
Fecha de Ingreso: enero-2002
Mensajes: 701
Antigüedad: 22 años, 4 meses
Puntos: 8
getElementById(nombre_de_objeto)

Tengo un div con su respectiva id, paso por parametro a una función el nombre del div, luego lo asigno en una variable y trato de mostrar el contenido de esa variable pero no hace nada :S
Que paso me salté?

Cita:
<script language="Javascript">
function muestra(str){
alert(str); //funciona
var x=str;
x=document.getElementById(x).innerHTML;
alert(x); //no funciona

}
</script>


<div id="texto1">cualquier cosa</div><a href="#" onclick="muestra('texto1')">
  #2 (permalink)  
Antiguo 07/07/2009, 13:29
Avatar de Legoltaz  
Fecha de Ingreso: agosto-2008
Mensajes: 325
Antigüedad: 15 años, 9 meses
Puntos: 6
Respuesta: getElementById(nombre_de_objeto)

¿Y por qué no haces así?:

Código JavaScript:
Ver original
  1. function muestra(str){
  2. string = document.getElementById(str).innerHTML;
  3. alert(string);
  4. }

De todas formas a mí me funciona bien tu código.
  #3 (permalink)  
Antiguo 07/07/2009, 14:20
Avatar de pcarvajal  
Fecha de Ingreso: enero-2002
Mensajes: 701
Antigüedad: 22 años, 4 meses
Puntos: 8
Respuesta: getElementById(nombre_de_objeto)

Hola Legoltaz , gracias por responder.
Extrañamente ni de tu forma ni la mía me funciona :S
te cuento que estoy jugando con la API traductora de Google (pretendo ir traduciendo por bloques), este es el codigo:

Cita:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8"/>
<title>Google AJAX Search API Sample</title>
<script src="http://www.google.com/jsapi?key=[key]"></script>
<script type="text/javascript">
google.load("language", "1");
function translate(strIn,strOut) {
var content = document.getElementById('content');
// Grabbing the text to translate
var text = document.getElementById(strIn).innerHTML;
// Translate from Spanish to English, and have the callback of the request
// put the resulting translation in the "translation" div.
// Note: by putting in an empty string for the source language ('es') then the translation
// will auto-detect the source language.
google.language.translate(text, 'es', 'en', function(result) {
var translated = document.getElementById(strOut);
if (result.translation) {
translated.innerHTML = result.translation;
}
});
content.style.display="none";
}

</script>
</head>
<body>
<script>google.setOnLoadCallback(translate('text1' ,'translation1'););</script>
<div id="text1" style="display:none;">Este es el primer texto</div><div id="translation1"></div>
<script>google.setOnLoadCallback(translate('text2' ,'translation2'););</script>
<div id="text2" style="display:none;">Este es el segundo texto </div><div id="translation2"></div>
<div id="content">Loading...</div>
</body>
</html>
(ahora, si te estás preguntando porqué llamo así a la función, es porque cuando esto funcione, los divs los voy a contruir dinámicamente a partir de una base de datos.)

Saludos

PD: Nunca he podido aprender como ponen el código dentro de la cajita de JS, como lo hacen?

Última edición por pcarvajal; 08/07/2009 a las 12:25
  #4 (permalink)  
Antiguo 07/07/2009, 16:12
 
Fecha de Ingreso: julio-2008
Mensajes: 3
Antigüedad: 15 años, 10 meses
Puntos: 0
Respuesta: getElementById(nombre_de_objeto)

buenas tardes
que pena salirme de su tema pero es parecido al mio

necesito capturar el nombre de una caja de texto si la tengo seleccionada no se si es posible realizar esto pero estaria muy agradecido si me contestaran
  #5 (permalink)  
Antiguo 07/07/2009, 21:12
Avatar de pcarvajal  
Fecha de Ingreso: enero-2002
Mensajes: 701
Antigüedad: 22 años, 4 meses
Puntos: 8
Respuesta: getElementById(nombre_de_objeto)

Cita:
Iniciado por blackrabbitrb Ver Mensaje
buenas tardes
que pena salirme de su tema pero es parecido al mio

necesito capturar el nombre de una caja de texto si la tengo seleccionada no se si es posible realizar esto pero estaria muy agradecido si me contestaran
eso ya te lo respondieron...
http://www.forosdelweb.com/f13/como-...5/#post2995136
  #6 (permalink)  
Antiguo 08/07/2009, 12:24
Avatar de pcarvajal  
Fecha de Ingreso: enero-2002
Mensajes: 701
Antigüedad: 22 años, 4 meses
Puntos: 8
Respuesta: getElementById(nombre_de_objeto)

alguna sugerencia??
  #7 (permalink)  
Antiguo 08/07/2009, 19:59
Avatar de pcarvajal  
Fecha de Ingreso: enero-2002
Mensajes: 701
Antigüedad: 22 años, 4 meses
Puntos: 8
Respuesta: getElementById(nombre_de_objeto)

ejemmm... cof cof
  #8 (permalink)  
Antiguo 08/07/2009, 23:33
Avatar de buzu  
Fecha de Ingreso: octubre-2006
Ubicación: San Francisco, CA
Mensajes: 2.168
Antigüedad: 17 años, 6 meses
Puntos: 122
Respuesta: getElementById(nombre_de_objeto)

Esque al hacer esto:

google.setOnLoadCallback(translate('text1' ,'translation1'));

Estas descomponiendo todo el código. Desgraciadamente sin el apikey no puedo hacer pruebas. Ojo, que no te estoy pidiendo el apikey, simplemente te estoy diciendo que el no tener una apikey me impide ayudarte más de eso, por ahora.
__________________
twitter: @imbuzu
  #9 (permalink)  
Antiguo 09/07/2009, 07:29
Avatar de pcarvajal  
Fecha de Ingreso: enero-2002
Mensajes: 701
Antigüedad: 22 años, 4 meses
Puntos: 8
Respuesta: getElementById(nombre_de_objeto)

pues, si tienes tiempo para hecharme una mano, no tengo problemas en enviartela. Solo avisame.
  #10 (permalink)  
Antiguo 09/07/2009, 12:32
Avatar de buzu  
Fecha de Ingreso: octubre-2006
Ubicación: San Francisco, CA
Mensajes: 2.168
Antigüedad: 17 años, 6 meses
Puntos: 122
Respuesta: getElementById(nombre_de_objeto)

Como te dije, yo no estaba pidiéndote la api key por que esa es información confidencial. Por otro lado, si me la quieres enviar en un MP, por mi no hay problema. De cualquier modo, ten por seguro que una vez solucionado tu problema, me deshago de la api key.
__________________
twitter: @imbuzu
  #11 (permalink)  
Antiguo 09/07/2009, 12:46
Avatar de pcarvajal  
Fecha de Ingreso: enero-2002
Mensajes: 701
Antigüedad: 22 años, 4 meses
Puntos: 8
Respuesta: getElementById(nombre_de_objeto)

Pues te agradezco un montón la buena voluntad
Afortunadamente se me ha iluminado la ampolleta y lo he podido solucionar, aqui dejo el codigo funcionando por si a alguien le pudiera ser útil:

Cita:
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8"/>
<title>Google AJAX Search API Sample</title>
<script src="http://www.google.com/jsapi?key=AQUI_VA_TU_API"></script>
<script type="text/javascript">
google.load("language", "1");
function translate(str) {
var content = document.getElementById('content'+str);
var text = document.getElementById('text'+str).innerHTML;
google.language.translate(text, 'es', 'en', function(result) {
var translated = document.getElementById('translation'+str);
if (result.translation) {
translated.innerHTML = result.translation;
}
});
content.style.display="none";
}
</script>
</head>
<body>
<div id="content1">Loading...</div>
<div id="text1" style="display:none;">Este es el primer texto</div><div id="translation1"></div>
<script>translate('1');</script>
<hr>
<div id="content2">Loading...</div>
<div id="text2" style="display:none;">Este es el segundo texto</div><div id="translation2"></div>
<script>translate('2');</script>
<hr>
<div id="content3">Loading...</div>
<div id="text3" style="display:none;">Este es el tercer texto</div><div id="translation3"></div>
<script>translate('3');</script>
</body>
</html>
Saludos!
  #12 (permalink)  
Antiguo 09/07/2009, 19:35
Avatar de buzu  
Fecha de Ingreso: octubre-2006
Ubicación: San Francisco, CA
Mensajes: 2.168
Antigüedad: 17 años, 6 meses
Puntos: 122
Respuesta: getElementById(nombre_de_objeto)

Bien, me alegro que lo hayas resuelto.
__________________
twitter: @imbuzu
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 06:42.