Foros del Web » Programando para Internet » Javascript »

Error en variable

Estas en el tema de Error en variable en el foro de Javascript en Foros del Web. Buenas, tengo un sencillo código de 20 lineas, pero al llegar a una variable no sigue y pienso que el error está ahi @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); ...
  #1 (permalink)  
Antiguo 02/09/2009, 13:32
 
Fecha de Ingreso: marzo-2009
Mensajes: 164
Antigüedad: 15 años, 1 mes
Puntos: 1
Error en variable

Buenas, tengo un sencillo código de 20 lineas, pero al llegar a una variable no sigue y pienso que el error está ahi

Código javascript:
Ver original
  1. var respuesta='<table style="margin-left:65px; margin-top:92px;"><th></th><th></th><th></th><th></th><th></th><tr>
  2. <td>
  3. <div style="background:url(imgs/planchita.png); height:198px; width:166px;">
  4. <p><div><img src="" height="124" width="162" style="margin-left:1px; margin-top:29px;" />
  5. <label id="lab"></label><div style="margin-top:10px; margin-left:50px;"></div></div></p>
  6. </div></td></tr></table></div>';
Después de ese código ya no hay nada más, ¿a que puede deberse el error?
Sé que el error es ahi porque después de esas lineas hay una que pone alert('conseguido'); y esa no salta.
  #2 (permalink)  
Antiguo 02/09/2009, 14:01
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 17 años, 3 meses
Puntos: 126
Respuesta: Error en variable

Hola

Yo escaparía las comillas dobles, pero en principio si todo ese código está en la misma linea, parece no haber error. Muéstranos el resto del código

Suerte
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />
  #3 (permalink)  
Antiguo 02/09/2009, 14:14
 
Fecha de Ingreso: marzo-2009
Mensajes: 164
Antigüedad: 15 años, 1 mes
Puntos: 1
Respuesta: Error en variable

Código javascript:
Ver original
  1. alert(ch);  
  2.     var ajax=nuevoAjax();
  3.     var ojox=nuevoAjax();
  4.     var ejex=nuevoAjax();
  5.     ajax.open("GET","x.php?find="+ch,true);
  6.     ajax.send(null);
  7.     ojox.open("GET","x.php?op=2&find="+ch,true);
  8.     ojox.send(null);
  9.     ejex.open("GET","x.php?op=3&find="+ch,true);
  10.     ejex.send(null);
  11.     alert(ch);
  12.                 var respuesta='<table style="margin-left:65px; margin-top:92px;"><th></th><th></th><th></th><th></th><th></th><tr>
  13. <td>
  14. <div style="background:url(imgs/planchita.png); height:198px; width:166px;">
  15. <p><div><img src="" height="124" width="162" style="margin-left:1px; margin-top:29px;" />
  16. <label id="lab"></label><div style="margin-top:10px; margin-left:50px;"></div></div></p>
  17. </div></td></tr></table></div>';
  18. document.getElementById('medio').innerHTML=respuesta;
  19.                 alert('conseguido');
Es una función buscar(ch)
  #4 (permalink)  
Antiguo 02/09/2009, 15:19
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 17 años, 3 meses
Puntos: 126
Respuesta: Error en variable

Hola

Insisto en que si el valor de la var esta en una solo linea el problema no está ahí, Yo diría que el problema está en la parte de ajax. Estas usando el método get así que necesitarás algo como

Cita:
ajax.onreadystatechange = function() {
if (ajax.readyState==4){
if(ajax.status==200){
.....
Aunque, viendo la porción de código, realmente no se para que usas ajax. ¿Se pueden hacer 3 llamadas?¿no se sobreescribirían unas a otras?

Suerte
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />
  #5 (permalink)  
Antiguo 02/09/2009, 15:33
 
Fecha de Ingreso: marzo-2009
Mensajes: 164
Antigüedad: 15 años, 1 mes
Puntos: 1
Respuesta: Error en variable

Cita:
Iniciado por Adler Ver Mensaje
Hola

Insisto en que si el valor de la var esta en una solo linea el problema no está ahí, Yo diría que el problema está en la parte de ajax. Estas usando el método get así que necesitarás algo como



Aunque, viendo la porción de código, realmente no se para que usas ajax. ¿Se pueden hacer 3 llamadas?¿no se sobreescribirían unas a otras?

Suerte
Lo puse y sigue sín ir, ¿como harías tu el código?
  #6 (permalink)  
Antiguo 02/09/2009, 15:37
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 17 años, 3 meses
Puntos: 126
Respuesta: Error en variable

Cita:
Iniciado por Labelin Ver Mensaje
Lo puse y sigue sín ir, ¿como harías tu el código?
¿Qué quieres que ocurra? ¿Qué se muestre el contenido de la var? ¿Rellenar la var con algún valor recibido por ajax y después sea mostrado el valor de la var? Dinos que quieres que ocurra

EDITO: ¿Por que haces 3 peticiones?
Al la porción de código que te di anteriormente habría que añadirle
document.getElementById('medio').innerHTML=ajax.re sponseTe

Suerte
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />
  #7 (permalink)  
Antiguo 02/09/2009, 16:05
 
Fecha de Ingreso: marzo-2009
Mensajes: 164
Antigüedad: 15 años, 1 mes
Puntos: 1
Respuesta: Error en variable

Las 3 peticiones obtienen 3 datos distintos que se insertan a la variable respuesta, el código que inserta no está ahi, es facil es respuesta=resputa+ajax.responseText asi... y luego poner e una div el contenido de respuesta
  #8 (permalink)  
Antiguo 02/09/2009, 16:14
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: Error en variable

¿no sera que el elemento #medio no existe en el documento? aparte que el string esta en multiples linea, ya lo menciono Adler. si lo quieres tener en multiples lineas tienes que agregar un backslash al final de cada linea.
Código:
var respuesta = "linea uno\
linea dos\
linea tres";
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #9 (permalink)  
Antiguo 02/09/2009, 16:20
 
Fecha de Ingreso: marzo-2009
Mensajes: 164
Antigüedad: 15 años, 1 mes
Puntos: 1
Respuesta: Error en variable

Ya funciona per cuando plasma los datos que recibe del php sale: undefined , eso que quiere decir que no ha recibido los datos bien del .php?¿
  #10 (permalink)  
Antiguo 02/09/2009, 16:34
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: Error en variable

¿de donde sale undefined, de ajax.responseText? undefined se da cuando se intenta usar un identificador (variable, funcion, o propiedades) que no esta definida en el codigo .
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #11 (permalink)  
Antiguo 03/09/2009, 01:57
 
Fecha de Ingreso: marzo-2009
Mensajes: 164
Antigüedad: 15 años, 1 mes
Puntos: 1
Respuesta: Error en variable

Ahora ya no sale undefined, no sale nada, eso es que no ha cargado los datos no?

Última edición por Labelin; 03/09/2009 a las 02:09
  #12 (permalink)  
Antiguo 03/09/2009, 05:17
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 17 años, 3 meses
Puntos: 126
Respuesta: Error en variable

Cita:
Iniciado por Labelin Ver Mensaje
Ahora ya no sale undefined, no sale nada, eso es que no ha cargado los datos no?
Si no te lanza ningún error, probablemente el problema es el que mencionas. Usa el componente de FF, el Firebug, para ver que es lo que envías y recibes

Suerte
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />
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 18:01.