Foros del Web » Programando para Internet » Javascript » Frameworks JS »

Div incremental

Estas en el tema de Div incremental en el foro de Frameworks JS en Foros del Web. Hola foreros... tengo la siguiente duda: cuando retorno un valor a mi div, lo hago como normalmente se hace: Código HTML: <script language= "javascript" type= ...
  #1 (permalink)  
Antiguo 10/06/2010, 15:22
Avatar de JavierMMM  
Fecha de Ingreso: agosto-2008
Ubicación: Justito frente a la computadora.
Mensajes: 278
Antigüedad: 15 años, 7 meses
Puntos: 0
Pregunta Div incremental

Hola foreros... tengo la siguiente duda:

cuando retorno un valor a mi div, lo hago como normalmente se hace:

Código HTML:
<script language="javascript" type="text/javascript">
function handleHttpResponse() 
{
    if (http.readyState == 4) 
	{
       if (http.status == 200) 
	   {
          if (http.responseText.indexOf('invalid') == -1) 
		  {
             // Armamos un array, usando la coma para separar elementos
             results = http.responseText.split(",");
             document.getElementById("campoMensaje").innerHTML = results[0];
             enProceso = false;
          }
       }
    }
}
lo que quiero saber es, ¿cómo poder concatenarle un indice al nombre del div porque genenro n divs para imprimir mis datos?

ejemplo:

document.getElementById("campoMensaje"+i).innerHTML = results[0];


esa i, es un índice con el cual voy a enviar mi resultado.

saludos.
  #2 (permalink)  
Antiguo 11/06/2010, 08:05
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 17 años, 3 meses
Puntos: 126
Respuesta: Div incremental

Hola

Usa la matriz para hacer una ciclo
Por cierto, ¿solucionastes este otro?

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 11/06/2010, 14:03
Avatar de JavierMMM  
Fecha de Ingreso: agosto-2008
Ubicación: Justito frente a la computadora.
Mensajes: 278
Antigüedad: 15 años, 7 meses
Puntos: 0
Respuesta: Div incremental

Hola Adler... probaré la matriz....

Con respecto del otro tema, no lo he solucionado y de hecho estoy tratando de resolverlo paralelamente a este (ya que los dos son para resolver el mismo punto), ya que es una forma que me sugirieron para poder llegar a un buen fin.
  #4 (permalink)  
Antiguo 11/06/2010, 14:18
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 17 años, 3 meses
Puntos: 126
Respuesta: Div incremental

Hola

No entiendo por qué no funciona. ¿Probastes el último script que te imprimí? Lo digo por que a mí sí que me funciona, y a efectos prácticos es lo mismo que lo que te ocupa. Pues nada, si se puede hacer algo mas ....

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 11/06/2010, 14:24
Avatar de JavierMMM  
Fecha de Ingreso: agosto-2008
Ubicación: Justito frente a la computadora.
Mensajes: 278
Antigüedad: 15 años, 7 meses
Puntos: 0
Respuesta: Div incremental

Mmmmmm, bueno, funciona, pero no como lo necesito.... Me explico mejor...

el proyecto en el que trabajo es un "depurador" del server, y las cadenas que obtengo y mando en el array, son direcciones físicas de archivos contenidos en el server y que son copiadas a otro server.... Pero, el problema viene, porque es muy tardado haciéndolo como se hace ahora, y lo que se quiere hacer es mandarlo con ajax para que, las cadenas que causen error, no causen problemas....

Lo que pude entender, al mandar el array, es que haré lo mismo que hago ahora, pero en otra página, siendo el mismo tiempo lo que tardará.
  #6 (permalink)  
Antiguo 14/06/2010, 17:02
Avatar de JavierMMM  
Fecha de Ingreso: agosto-2008
Ubicación: Justito frente a la computadora.
Mensajes: 278
Antigüedad: 15 años, 7 meses
Puntos: 0
Respuesta: Div incremental

Sigo en la búsqueda de una solución acerca de este tema. Y claro, no la he encontrado :S ...

Lo que estoy intentnado ahora es, meter todas mis cadenas en una sola variable, separadas por comas, y enviarla por medio de post a mi página ´prueba.asp´ para después irlas leyendo una a una y procesándolas que como se debe de hacer en mi proyecto, pero la cosa es que no me está enviando nada y no sé cómo poder regresar el resultado de cada una de las cadenas a un DIV diferente.

Este código estoy usando para enviar:

Código:
<script language="javascript" type="text/javascript">

function handleHttpResponse() 
{
    if (http.readyState == 4) 
	{
       if (http.status == 200) 
	   {
          if (http.responseText.indexOf('invalid') == -1)
		  {
             // Armamos un array, usando la coma para separar elementos
             results = http.responseText.split(",");
             document.getElementById("campoMensaje").innerHTML = results[0];
             enProceso = false;
          }
       }
    }
}

function verificaUsuario()
{
    if (!enProceso && http)
	{
       var valor = escape(document.getElementById("nombre_carpeta").value);
       var url = "consulta.asp?nombre_carpeta="+ valor;
	   //top.document.write(valor);
       http.open("GET", url, true);
       http.onreadystatechange = handleHttpResponse;
       enProceso = true;
       http.send(null);
    }
}

function getHTTPObject() 
{
    var xmlhttp;
    /*@cc_on
    @if (@_jscript_version >= 5)
       try {
          xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
       } catch (e) {
          try {
             xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
          } catch (E) { xmlhttp = false; }
       }
    @else
    xmlhttp = false;
    @end @*/
    if (!xmlhttp && typeof XMLHttpRequest != 'undefined') 
	{
       try 
	   {
          xmlhttp = new XMLHttpRequest();
       } catch (e) { xmlhttp = false; }
    }
    return xmlhttp;
}

var enProceso = false; // lo usamos para ver si hay un proceso activo
var http = getHTTPObject(); // Creamos el objeto XMLHttpRequest

</script>

...
...
...

	Do While not Ors.eof
		nm = Ors("Archivo") 
		nombre_carpeta = nombre_carpeta & nm & "," '& "<br />"
		nm = ""
		cantidad = Ors("Cantidad")
		r = r + cantidad
		response.Write("<div id='campoMensaje'></div>")

		response.Write("<form action='post'>")
			response.Write("<input type='hidden' name='nombre_carpeta' id='nombre_carpeta' value='<nombre_carpeta'>")
		response.Write("</form>")

		Ors.movenext
	Loop
	Ors.Close
	set fs=nothing
	
	for i=1 to 1
		'response.Write(nombre_carpeta) & "<br /><br />"
		f = instr(nombre_carpeta,",")
		'response.Write(nombre_carpeta) & "<br /><br />"
	Next
	'response.Write("<div id='campoMensaje' align='center'> [div]"&r&"</div>")
%>
	<script>
        verificaUsuario()
    </script>
y lo recibo de esta manera:

Código:
<%

' me fijo si viene algun valor en el querystring, si no viene nada, no hago nada
if request.querystring("nombre_carpeta") <> "" then
   	nombre_carpeta = request.querystring("nombre_carpeta") & "<br />"
	response.Write(nombre_carpeta)
'	for i=1 to 5
'		response.Write(nombre_carpeta) & "<br />"
'	Next		
else
	response.Write("CADENA VACIA")
end if
%>
¿Qué es lo que estoy haciendo mal?
  #7 (permalink)  
Antiguo 15/06/2010, 17:17
Avatar de JavierMMM  
Fecha de Ingreso: agosto-2008
Ubicación: Justito frente a la computadora.
Mensajes: 278
Antigüedad: 15 años, 7 meses
Puntos: 0
Respuesta: Div incremental

Hola, de nuevo yo... he hecho estos ajustes en la función que funcionan parcialmente:

Código:
function handleHttpResponse() 
{
  if (http.readyState == 4)
   {
     if (http.status == 200)
       {
          if (http.responseText.indexOf('invalid') == -1)
		  {
           // Armamos un array, usando la coma para separar elementos
           results = http.responseText.split(",");
	   document.getElementById("campoMensaje1").innerHTML = results[0];
	   document.getElementById("campoMensaje2").innerHTML = results[1];
	   document.getElementById("campoMensaje3").innerHTML = results[2];
	   document.getElementById("campoMensaje4").innerHTML = results[3];
	   document.getElementById("campoMensaje5").innerHTML = results[4];
            enProceso = false;
          }
       }
    }
}
y arme 5 divs de esta manera:
Código:
response.Write("<div id='campoMensaje1' align='center'></div>")
response.Write("<div id='campoMensaje2' align='center'></div>")
response.Write("<div id='campoMensaje3' align='center'></div>")
response.Write("<div id='campoMensaje4' align='center'></div>")
response.Write("<div id='campoMensaje5' align='center'></div>")
La variable que almacena mi consulta (nombre_carpeta), me imprime lo siguiente:

/content/mde/UDCPSXXI001P/22522/237_ME_462_2107200490351.doc,
/content/mde/UDCPSXXI001P/22523/Sociedad planetaria.doc,
/content/mde/UDCPSXXI001P/22524/Ética y nuestro entorno.doc,
/content/mde/UDCPSXXI001P/22525/7saberes.zip,
/content/mde/UDCPSXXI001P/22526/237_ME_2_09072004132054.pdf,

pero sólo me retorna la primer cadena de la siguiente manera:

/content/mde/UDCPSXXI001P/22522/237_ME_462_2107200490351.doc
/content/mde/UDCPSXXI001P/22522/237_ME_462_2107200490351.doc
/content/mde/UDCPSXXI001P/22522/237_ME_462_2107200490351.doc
/content/mde/UDCPSXXI001P/22522/237_ME_462_2107200490351.doc
/content/mde/UDCPSXXI001P/22522/237_ME_462_2107200490351.doc

¿Alguna opción de cómo puedo hacerle?
  #8 (permalink)  
Antiguo 16/06/2010, 07:45
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 17 años, 3 meses
Puntos: 126
Respuesta: Div incremental

Hola

¿Para que preguntas si no haces caso?

Esto que haces, es lo que te decía en mi primer post, claro está a diferencia de esto, de manera dinámica

Cita:
results = http.responseText.split(",");
document.getElementById("campoMensaje1").innerHTML = results[0];
document.getElementById("campoMensaje2").innerHTML = results[1];
document.getElementById("campoMensaje3").innerHTML = results[2];
document.getElementById("campoMensaje4").innerHTML = results[3];
document.getElementById("campoMensaje5").innerHTML = results[4];
Código Javascript:
Ver original
  1. results = http.responseText.split(",");
  2. for(i = 0; i < results.length; i++) {
  3. document.getElementById("campoMensaje"+results[i]).innerHTML = results[i];
  4. }

En cuanto a que solo imprima el primero, el problema lo has de tener en el ASP. Usa el FireBug para ver cual es la respuesta

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;" />
  #9 (permalink)  
Antiguo 16/06/2010, 13:52
Avatar de JavierMMM  
Fecha de Ingreso: agosto-2008
Ubicación: Justito frente a la computadora.
Mensajes: 278
Antigüedad: 15 años, 7 meses
Puntos: 0
Respuesta: Div incremental

Gracias Adler por contestar. En un principio no tenía la más mínima ídea de lo que me proponias, por eso insistí en el tema. Gracias de nuevo.

Etiquetas: ajax, incremental
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:52.