Foros del Web » Programando para Internet » ASPX (.net) »

llamar a evento desde una funcion javascript

Estas en el tema de llamar a evento desde una funcion javascript en el foro de ASPX (.net) en Foros del Web. Hola, mi duda es si es posible llamar a un metodo desde una función de javascript,por ejemplo al click de un boton....
  #1 (permalink)  
Antiguo 24/04/2006, 08:39
 
Fecha de Ingreso: febrero-2006
Mensajes: 26
Antigüedad: 18 años, 2 meses
Puntos: 0
Pregunta llamar a evento desde una funcion javascript

Hola, mi duda es si es posible llamar a un metodo desde una función de javascript,por ejemplo al click de un boton.
  #2 (permalink)  
Antiguo 24/04/2006, 14:11
 
Fecha de Ingreso: abril-2006
Mensajes: 40
Antigüedad: 18 años
Puntos: 0
Metodo

Si es posible.
Pero primero necesitas obtener desde el servidor la llamada al evento, lo puedes hacer de varias formas.

Una seria utilizar Page.GetPostBackClientHyperlink, con esta funcion obtienes el codigo en java script que ejecuta el evento del lado del servidor, por ejemplo
Page.GetPostBackClientHyperlink(Button1, "")
regresa
javascript:__doPostBack('Button1','')
El cual lo puedes utilizar

Otra forma seria mandar llamar a la funcion __doPostBack, pero te tendrias que asegurar de que exista, pues en un aspx no siempre existe, ademas de enviarle como parametro el clientId del control que quieres se ejecute el evento, esto para cuando utilises controles de usuario .ascx
si colocas un boton en la pagina y la ves en el navegador al ver el codigo fuente veras que no se escribe la funcion __doPostBack.

Para asegurate que asp escriba la funcion __doPostBack usa alguna de las siguientes funciones en el evento load de la pagina para que siempre se escriba la funcion __doPostBack en el html.

Page.GetPostBackClientHyperlink(Button1, "")
Page.GetPostBackEventReference(Button1, "")
Page.GetPostBackClientEvent(Button1, "")

En usas un linkbutton siempre se escribira la funcion.

Un saludo.
  #3 (permalink)  
Antiguo 24/04/2006, 15:01
 
Fecha de Ingreso: mayo-2004
Ubicación: Guadalajara, Jalisco, México
Mensajes: 724
Antigüedad: 19 años, 11 meses
Puntos: 6
Ea, en accion un microsoft certified professional

Bueno.. mi respuesta ahi te va: te traer el objeto con javascript

Código:
var obj = document.getElementById("TuBoton_ClientID");
if (obj){
   obj.click();   
}
Saludos
  #4 (permalink)  
Antiguo 25/04/2006, 02:11
 
Fecha de Ingreso: abril-2006
Mensajes: 166
Antigüedad: 18 años
Puntos: 0
Buenas.

¿Hay alguna manera de llamar desde JavaScript a una función (no a un evento) de Visual Basic .NET (una que esté hecha en .aspx.vb)?

En VB tengo:

Protected Sub prueba()
MsgBox("funcion VB")
End Sub

En Javascript quiero algo así como lo siguiente:

document.nombre_formulario.prueba();

Muchas gracias
  #5 (permalink)  
Antiguo 25/04/2006, 08:32
 
Fecha de Ingreso: mayo-2004
Ubicación: Guadalajara, Jalisco, México
Mensajes: 724
Antigüedad: 19 años, 11 meses
Puntos: 6
Puedes usar ajax... (esto si te proporciona acceder a un metodo desde el cliente al servidor sin hacer postback)

http://atlas.asp.net/Default.aspx?tabid=47
  #6 (permalink)  
Antiguo 23/05/2006, 03:39
 
Fecha de Ingreso: noviembre-2005
Mensajes: 102
Antigüedad: 18 años, 4 meses
Puntos: 0
A ver si me podeis echar un cable...
Yo lo que quiero es llamar a un metodo que esta en el codebehind, despues de haber ejecutado una funcion en javascript.

Tengo este codigo:
<script language="javascript">
function Validar()
{
if (confirm('¿Confirma que desea aceptar?'))
return true;
else
return false;
}
</script>

y este boton:
<input language="javascript" name="Button3" id="Button3" type="button" value="Reset" onclick="if (Validar()) __doPostBack('Button3','')" />

Es decir, una vez pinchado el boton, aparece el mensaje de confirmacion y si le doy a aceptar quiero que me ejecute esta funcion que tengo en el codebehind:
protected void Reset_Click(object sender, EventArgs e)
{
...
}

¿Como lo hago?
  #7 (permalink)  
Antiguo 23/05/2006, 04:56
 
Fecha de Ingreso: abril-2006
Mensajes: 166
Antigüedad: 18 años
Puntos: 0
Tienes que poner:

En el onload por ejemplo:

me.boton3.Attributes.Add("onclick", "javascript:return Validar();")

si la función de javascript te devuleve false, no te va a ejecutar el método "Reset".


Espero que te sirva.

saludos.
  #8 (permalink)  
Antiguo 23/05/2006, 08:40
 
Fecha de Ingreso: noviembre-2005
Mensajes: 102
Antigüedad: 18 años, 4 meses
Puntos: 0
Cita:
Iniciado por aupaneu
Tienes que poner:

En el onload por ejemplo:

me.boton3.Attributes.Add("onclick", "javascript:return Validar();")

si la función de javascript te devuleve false, no te va a ejecutar el método "Reset".


Espero que te sirva.

saludos.
Donde lo tengo que poner? Lo siento pero no te he entendido, gracias por contestar :)
  #9 (permalink)  
Antiguo 24/05/2006, 01:00
 
Fecha de Ingreso: noviembre-2005
Mensajes: 102
Antigüedad: 18 años, 4 meses
Puntos: 0
Cita:
Iniciado por aupaneu
Tienes que poner:

En el onload por ejemplo:

me.boton3.Attributes.Add("onclick", "javascript:return Validar();")

si la función de javascript te devuleve false, no te va a ejecutar el método "Reset".


Espero que te sirva.

saludos.
O no te entiendo yo o no me has ententido tu. ;)
  #10 (permalink)  
Antiguo 24/05/2006, 01:08
 
Fecha de Ingreso: abril-2006
Mensajes: 166
Antigüedad: 18 años
Puntos: 0
Perdona, rectifico.

De todas formas te advierto que utilizo el aspbutton, con el button de html no me sale.Ahi va:

VB:

Partial Class _Default
Inherits System.Web.UI.Page

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Me.Button1.Attributes.Add("onclick", "javascript:return validar();")
End Sub
Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
MsgBox("La función JS devuelto TRUE")
End Sub
End Class

ASP:

<%@ Page Language="VB" AutoEventWireup="false" CodeFile="Default.aspx.vb" Inherits="_Default" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>Página sin título</title>
<script>
function validar()
{
if (confirm('¿Confirma que desea aceptar?'))
return true;
else
return false;
}

</script>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:Button ID="Button1" runat="server" Text="Button" />&nbsp;</div>
</form>
</body>
</html>

Así funciona (lo he probado), pero no se si a ti te servirá...


Saludos.

Última edición por aupaneu; 24/05/2006 a las 01:30
  #11 (permalink)  
Antiguo 25/05/2006, 02:52
 
Fecha de Ingreso: noviembre-2005
Mensajes: 102
Antigüedad: 18 años, 4 meses
Puntos: 0
aupaneu me has dado una idea ;D y lo he solucionado de esta manera:

<script>
function Validar()
{
if (confirm('¿Confirma que desea restaurar todos los valores predeterminados?'))
return true;
else
return false;
}
</script>

He creado un boton (que se ejecuta en el cliente) y un link (que se ejecuta en el servidor) d este modo:

<input language="javascript" onclick="if(Validar()) __doPostBack('Reset','')" value ="Reset"/>
<asp:LinkButton ID="Reset" runat="server" OnClick="Reset_Click"></asp:LinkButton>
Este link, ejecuta la funcion Reset_Click, en caso que le demos a aceptar en el confirm de javascript. Como no hay ningun enlace puesto, quedara transparente al diseño.

Gracias aupaneu :)
  #12 (permalink)  
Antiguo 25/05/2006, 02:56
 
Fecha de Ingreso: abril-2006
Mensajes: 166
Antigüedad: 18 años
Puntos: 0
Pues de nada!!
  #13 (permalink)  
Antiguo 09/04/2008, 00:02
 
Fecha de Ingreso: enero-2008
Mensajes: 229
Antigüedad: 16 años, 3 meses
Puntos: 0
Re: llamar a evento desde una funcion javascript

Donde colocas esto de la web exactamente?: <input language="javascript" onclick="if(Validar()) __doPostBack('Reset','')" value ="Reset"/>

Que tiene la función Reset_click?

Si puedes pon todo el código final...

Última edición por chascos69; 09/04/2008 a las 00:03 Razón: que tiene la función Reset_click
  #14 (permalink)  
Antiguo 22/05/2008, 11:58
 
Fecha de Ingreso: agosto-2007
Mensajes: 3
Antigüedad: 16 años, 8 meses
Puntos: 0
Respuesta: llamar a evento desde una funcion javascript

Mil gracias por este post!!
  #15 (permalink)  
Antiguo 07/01/2009, 09:36
 
Fecha de Ingreso: julio-2008
Mensajes: 16
Antigüedad: 15 años, 9 meses
Puntos: 0
Respuesta: llamar a evento desde una funcion javascript

Cita:
Iniciado por Stream Ver Mensaje
Ea, en accion un microsoft certified professional

Bueno.. mi respuesta ahi te va: te traer el objeto con javascript

Código:
var obj = document.getElementById("TuBoton_ClientID");
if (obj){
   obj.click();   
}
Saludos
Sin duda la mejor respuestas de todas x_x, me sirvio mucho mucho xD gracias
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 02:56.