Foros del Web » Programando para Internet » Javascript »

Capturar valor de funcion javascript a asp

Estas en el tema de Capturar valor de funcion javascript a asp en el foro de Javascript en Foros del Web. Buenas tardes nuevamente mis estimados, les cuento que estoy con una funcion en javascript que me esta dando un verdadero dolor de cabeza por lo ...
  #1 (permalink)  
Antiguo 08/09/2010, 11:21
 
Fecha de Ingreso: agosto-2010
Mensajes: 27
Antigüedad: 13 años, 8 meses
Puntos: 1
Información Capturar valor de funcion javascript a asp

Buenas tardes nuevamente mis estimados, les cuento que estoy con una funcion en javascript que me esta dando un verdadero dolor de cabeza por lo que les pido su apoyo, ya que de muchos foros que he visitado, este es uno de los más eficientes, bueno tengo una funcion que me retorna un valor que es el tamaño de un div:

function div() {
var tamanio
tamanio = document.getElementById('contenidos').offsetHeight ;
return tamanio;
}

El problema que tengo es que ese valor lo necesito para duplicar una imagen, esta el el proceso en asp


<%

Dim ls_usuario As String
ls_usuario = "usuario.gif"

For i = 1 To tamanio <=== este es el valor que está en javascript
Response.Write("<img class=shadow src=../img /" & ls_usuario & " width=100%/></br>" & vbCrLf)
Next
%>

Otra cosa es que esta función se debe de ejecutar segundos después de abrirse la ventana y creo que es recomendable que use el settimeout, como me dijeron por hay, espero se me pueda entender, desde ya gracias por su respuesta.
  #2 (permalink)  
Antiguo 08/09/2010, 12:26
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 17 años, 4 meses
Puntos: 126
Respuesta: Capturar valor de funcion javascript a asp

Hola

Por mucho que te hayan dicho, es imposible hacerlo, puesto que ASP se ejecuta en el servidor y después se ejecuta la parte del cliente, javascript, así que cuando en el cliente se obtiene el valor, la parte del servidor ya no tiene nada que hacer

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 08/09/2010, 12:50
 
Fecha de Ingreso: enero-2008
Mensajes: 614
Antigüedad: 16 años, 4 meses
Puntos: 57
Respuesta: Capturar valor de funcion javascript a asp

Ya te habia puesto en otro foro como hacerlo. Se deberia hacer en 2 pasos

index.asp
Código ASP:
Ver original
  1. <%
  2. if request("variable") <> "" then
  3.     response.write "variable = '" & request("variable") & "'"
  4. else
  5.     response.write "no tiene datos"
  6. end if
  7. %>
  8. <html>
  9. <head>
  10. <script>
  11. function calcular() {
  12.     var x = 123456;
  13.     alert(x);
  14.     window.location = "index.asp?variable=" + x;
  15. }
  16. </script>
  17. </head>
  18. <body <%if request("variable") = "" then response.write "onload='calcular()'"%>>
  19. </body>
  20. </html>
  #4 (permalink)  
Antiguo 08/09/2010, 13:14
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 17 años, 4 meses
Puntos: 126
Respuesta: Capturar valor de funcion javascript a asp

@posman en esta ocasión te equivocas, no tiene nada que ver lo que tu le indicas a lo que el está pidiendo. Léelo detenidamente

Un saludo
__________________
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 08/09/2010, 15:20
 
Fecha de Ingreso: agosto-2010
Mensajes: 27
Antigüedad: 13 años, 8 meses
Puntos: 1
Respuesta: Capturar valor de funcion javascript a asp

Realmente les doy mil gracias por su ayuda y su pronta respuesta y como dice adler el valor que yo busco no se puede encontrar de esa manera, ya que según lo que he leído el asp se ejecuta por parte del servido pero javascript lo hacer por parte del cliente, así que estoy intentando algo nuevo espero que me ayuden ya que estoy reestructurando esto, bueno ahora lo voy hacer con casi puro javascript:


<html>
<head>
<script>
function div() {
var tamanio
tamanio = document.getElementById('contenidos').offsetHeight ;
return tamanio;
}
</script>
</head>
<body>

<div>
<%
Dim ls_imagen as string = session(“usuario”)
%>
<script>
Var imagen = <%=ls_imagen%>
for (x = 1; x < tamanio; x++) //(la variable tamanio está en la función de arriba)
{
document.write('<img src=../../../logos/' + imagen + ' width=100%/></br>')
}
</script>
</div>
</body>
</html>


1.Cuando lo ejecuto la parte del bucle del for no me muestra nada pero cuando lo hago de esta manera si me muestra o es que el JS hay alguna restricción con esta declaración.

for (x = 1; x < 3; x++)
{
document.write('<img src=../../../logos/usuario1.gif width=100%/></br>')
}


2.Y el valor que obtengo de la función div(); necesito que se ejecute 3 segundos después de cargar la pagina, esto es porque dentro de ese div ira diferentes páginas web, ya que será como un contenedor de páginas web, por lo mismo el tamaño varia cada vez que el usuario seleccione un enlace.

Desde ya les agradezco por su apoyo.
  #6 (permalink)  
Antiguo 08/09/2010, 15:32
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 17 años, 4 meses
Puntos: 126
Respuesta: Capturar valor de funcion javascript a asp

Hola

El error esta en la mayúscula al definir la variable
Cita:
Var imagen
Ambas cuestiones parece que se solucionarán así
Cita:
<%
Dim ls_imagen as string = session(“usuario”)
%>
<html>
<head>
<script>
function div() {
var tamanio
tamanio = document.getElementById('contenidos').offsetHeight ;

var imagen = <%=ls_imagen%>
for (x = 1; x < tamanio; x++) //(la variable tamanio está en la función de arriba)
{
document.getElementById('elDiv').innerHTML = '<img src=../../../logos/' + imagen + ' width=100%/></br>';
}
}
// Aqui usar un temporizador (setTimeout) para mandar a llamar la función div()
</script>
</head>
<body>
<div id="elDiv"></div>
</body>
</html>
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 08/09/2010, 16:22
 
Fecha de Ingreso: agosto-2010
Mensajes: 27
Antigüedad: 13 años, 8 meses
Puntos: 1
Respuesta: Capturar valor de funcion javascript a asp

Hola Adler hice lo siguiente coloque las funciones pero me devuelve el tamaño, pero no se ejecuta la visualización de imágenes.

<html>
<%
Dim ls_usuario As String
ls_usuario = "usuario.gif"
%>
<head>
<script>

function testtimeout() {
setTimeout("div()", 1000);
}

function div() {
var tamanio
tamanio = document.getElementById('contenidos').offsetHeight ;
alert (tamanio)
var imagen = <% =ls_usuario %>
for (x = 1; x < tamanio; x++) //(la variable tamanio está en la función de arriba)
{
document.getElementById('contenido').innerHTML = '<img src=../../../logos/' + imagen + ' width=100%/></br>';
}
}

</script>

<body onload = " testtimeout();">
<div id="contenido">

</div>
</body>
</html>


Nuevamente no me muestra la imagen repetida pero si el valor del div despues del tiempo estimado en la funcion testtimeout, pero si coloco este código en duro dentro del div contenido si me muestra la imagen.

<script>
for (x = 1; x < 3; x++) //(la variable tamanio está en la función de arriba)
{
document.write('<img src=clarico.gif width=100%/></br>')
}
</script>

La verdad me estoy preocupando un poco, o acaso no es posible hacerlo de esta manera?
  #8 (permalink)  
Antiguo 08/09/2010, 18:14
 
Fecha de Ingreso: agosto-2010
Mensajes: 27
Antigüedad: 13 años, 8 meses
Puntos: 1
Respuesta: Capturar valor de funcion javascript a asp

Antes que todo les doy las gracias por ayudarme a solucionar mi problema, ya encontre la salida mas factible, pues segui el camino de mi estimado amigo posman y gracias a su recomendacion de volver a enviar el resultado como un parametro resolvi el dilema bueno aqui les dejo lo que hice pues ya que talvez algunos algun dia se encuentren en el problema que yo estaba.


function div() {
var tamanio
tamanio = document.getElementById('contenidos').offsetHeight ;
window.location = "marca_agua.aspx?tamanio=" + tamanio;
}

en asp hice lo siguiente

<%
Dim path As String = Session("pagina")

Dim li_tamanio As Integer = Convert.ToInt32(Request("tamanio"))
If li_tamanio < 0 Then
Response.Write("<body onload=paginas('" & path & "','contenidos');div()>")
Else
Response.Write("<body onload=paginas('" & path & "','contenidos')>")
End If
%>


<div>
<%
Dim ls_usuario As String
Dim li_tamanio As Integer = Convert.ToInt32(Request("tamanio"))
ls_usuario = Session("login") & ".gif"
For i = 1 To li_tamanio
Response.Write("<img class=shadow src=../../../logos/" & ls_usuario & " width=100%/></br>" & vbCrLf)
Next
%>
</div>

y esto es todo si alguien quiere alguna ayuda mas estare dispuesto a ayudar como me ayudaron a mi.

Etiquetas: asp, funcion
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 11:26.