Foros del Web » Programando para Internet » Javascript »

Ayuda con un script

Estas en el tema de Ayuda con un script en el foro de Javascript en Foros del Web. Saludos tengo un problema con este nuevo script lo que quiero hacer es en la parte del script q dice ///aqui/// necesito q reslut se ...
  #1 (permalink)  
Antiguo 27/05/2010, 00:46
 
Fecha de Ingreso: septiembre-2009
Ubicación: Queretaro
Mensajes: 51
Antigüedad: 14 años, 7 meses
Puntos: 2
Exclamación Ayuda con un script

Saludos tengo un problema con este nuevo script lo que quiero hacer es en la parte del script q dice ///aqui/// necesito q reslut se haga toString() o algo similar ya que el valor lo pasa como [object OBJECT] lo podemos ver cambiando ///aqui/// con un alert('result'); entonces al hacer eso ya me aparece como undefined o algun otro error osea el chiste como le hago para q este script funcione.

Este script lo que hace es cambiar o mas bn dicho traducir los tags que tengan la propiedad name="setlng" ahorita esta de en a es osea ingles a español

Código:
<!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"></script>
    <script type="text/javascript">
    
    google.load("language", "1");
    
  function translateComplete(results) {
    var translationDiv = document.getElementsByName("setlng");
      if (!results.error) {
        for (i=0; i < results.responseData.length - 1; i++) {
          y = i + 1;
          var result = results.responseData[y];
       ///aqui///
          translationDiv[i].innerHTML = result.responseData.translatedText;
        }
      }
    }
    
    function initializer() {

      var callbackFunction = 'translateComplete';
      var newScript = document.createElement('script');
      newScript.type = 'text/javascript';
      var source = 'http://ajax.googleapis.com/ajax/services/language/translate' +
                   '?v=1.0&q=';
      var totext = document.getElementsByName("setlng");
        for (x=0;x<totext.length;x++){
      var text = totext[x].innerHTML;
         source = source + '&q=' + text;
        }

          var newBatchParam = '&langpair=en%7Ces';
          source = source + newBatchParam;
      source = source + '&callback=' + callbackFunction;
      newScript.src = source;
      document.getElementsByTagName('head')[0].appendChild(newScript);
    }
    
    google.setOnLoadCallback(initializer);
   
    
    </script>
  </head>
  <body style="font-family: Arial;border: 0 none;">
    <div name="setlng">loding...</div>
    <div name="setlng">loding 2...</div>
    <div name="setlng">loading 3...</div>
    <div name="setlng">loading 4...</div>
    <div name="setlng">loading 5...</div>

<table width="98%" name="setlng">
<tr><td align="center"><h2><strong>Producto</strong></h2></td></tr>
<tr><TD>
<center>
<div class="nav-menu">
<ul>
<li><a href="http://redsombrero.co.nz/index.php?mod=eCommerce&ext=productos&id=1" ><<< Atr&aacute;s</a></li>
<li><a href="http://redsombrero.co.nz/index.php?mod=eCommerce">&Iacute;ndice</a></li>

<li><a href="http://redsombrero.co.nz/index.php?mod=eCommerce&amp;ext=shop">Ver carrito</a></li>
</ul>
</div>
</center>
</TD></tr>
</table> 

  </body>
</html>
  #2 (permalink)  
Antiguo 27/05/2010, 08:59
 
Fecha de Ingreso: agosto-2008
Mensajes: 15
Antigüedad: 15 años, 8 meses
Puntos: 0
Respuesta: Ayuda con un script

puedes hacer

var variable = (String) sentencia;

el (String) te castea el valor es decir te lo convierte forzozamente a tipo cadena;

Mentenos en contacto si no te funciona
  #3 (permalink)  
Antiguo 27/05/2010, 10:29
 
Fecha de Ingreso: septiembre-2009
Ubicación: Queretaro
Mensajes: 51
Antigüedad: 14 años, 7 meses
Puntos: 2
Respuesta: Ayuda con un script

si mira ya tengo realizado eso.

esta es la funcion que le hace falta eso:

function translateComplete(results) {
var translationDiv = document.getElementsByName("setlng");
if (!results.error) {
for (i=0; i < results.responseData.length - 1; i++) {
y = i + 1;
var result = results.responseData[y];
///aqui///
translationDiv[i].innerHTML = result.responseData.translatedText;
}
}
}


y como te daras cuenta ya tengo:
var result = results.responseData[y];

el problema es de que la string del objeto es muy grande entonces el browser convierte la string del objecto ser interpretada como [object OBJECT] entonces la solucion seria colocarle el metodo toString() pero aqui el problema es de que no se como colocarlo, encontre como hacer esto con una funcion

returns function toString() { [native code] }

donde es native code es como estan interpretadas las propiedades o variables con su valor osea: lo que regresa el script traductor de google:

http://ajax.googleapis.com/ajax/services/language/translate?v=1.0&q=hello%20world&langpair=en|it

Etiquetas: google, result, tostring, traducir, traductor
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 16:53.