Retroceder   Foros del Web > Programación para sitios web > .NET > web forms

Respuesta
 
Herramientas Desplegado
Antiguo 24-abr-2006, 08:39   #1 (permalink)
anotherone ha deshabilitado el karma
 
Fecha de Ingreso: febrero-2006
Mensajes: 26
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.
anotherone está desconectado   Responder Citando
Antiguo 24-abr-2006, 14:11   #2 (permalink)
mcEmmanuel no se puede cailificar en este momento
 
Fecha de Ingreso: abril-2006
Mensajes: 40
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.
mcEmmanuel está desconectado   Responder Citando
Antiguo 24-abr-2006, 15:01   #3 (permalink)
Stream está en el buen camino
 
Fecha de Ingreso: mayo-2004
Ubicación: La Paz, Baja California S
Mensajes: 602
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
__________________
Programador en .NET
desde
Guadalajara, Jalisco, México
Stream está desconectado   Responder Citando
Antiguo 25-abr-2006, 02:11   #4 (permalink)
aupaneu ha deshabilitado el karma
 
Fecha de Ingreso: abril-2006
Mensajes: 165
Enviar un mensaje por MSN a aupaneu
Parpadear

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
aupaneu está desconectado   Responder Citando
Antiguo 25-abr-2006, 08:32   #5 (permalink)
Stream está en el buen camino
 
Fecha de Ingreso: mayo-2004
Ubicación: La Paz, Baja California S
Mensajes: 602
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
__________________
Programador en .NET
desde
Guadalajara, Jalisco, México
Stream está desconectado   Responder Citando
Antiguo 23-may-2006, 03:39   #6 (permalink)
Anpiro no se puede cailificar en este momento
 
Fecha de Ingreso: noviembre-2005
Mensajes: 102
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?
Anpiro está desconectado   Responder Citando
Antiguo 23-may-2006, 04:56   #7 (permalink)
aupaneu ha deshabilitado el karma
 
Fecha de Ingreso: abril-2006
Mensajes: 165
Enviar un mensaje por MSN a 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.
aupaneu está desconectado   Responder Citando
Antiguo 23-may-2006, 08:40   #8 (permalink)
Anpiro no se puede cailificar en este momento
 
Fecha de Ingreso: noviembre-2005
Mensajes: 102
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 :)
Anpiro está desconectado   Responder Citando
Antiguo 24-may-2006, 01:00   #9 (permalink)
Anpiro no se puede cailificar en este momento
 
Fecha de Ingreso: noviembre-2005
Mensajes: 102
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. ;)
Anpiro está desconectado   Responder Citando
Antiguo 24-may-2006, 01:08   #10 (permalink)
aupaneu ha deshabilitado el karma
 
Fecha de Ingreso: abril-2006
Mensajes: 165
Enviar un mensaje por MSN a aupaneu
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-may-2006 a las 01:30.
aupaneu está desconectado   Responder Citando
Antiguo 25-may-2006, 02:52   #11 (permalink)
Anpiro no se puede cailificar en este momento
 
Fecha de Ingreso: noviembre-2005
Mensajes: 102
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 :)
Anpiro está desconectado   Responder Citando
Antiguo 25-may-2006, 02:56   #12 (permalink)
aupaneu ha deshabilitado el karma
 
Fecha de Ingreso: abril-2006
Mensajes: 165
Enviar un mensaje por MSN a aupaneu
Pues de nada!!
aupaneu está desconectado   Responder Citando
Antiguo 09-abr-2008, 00:02   #13 (permalink)
chascos69 ha deshabilitado el karma
 
Fecha de Ingreso: enero-2008
Mensajes: 50
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-abr-2008 a las 00:03. Razón: que tiene la función Reset_click
chascos69 está desconectado   Responder Citando
Antiguo 22-may-2008, 11:58   #14 (permalink)
alerchi ha deshabilitado el karma
 
Fecha de Ingreso: agosto-2007
Mensajes: 3
Respuesta: llamar a evento desde una funcion javascript

Mil gracias por este post!!
alerchi está desconectado   Responder Citando
Respuesta
No hay votos aún.


Herramientas
Desplegado

Normas de Publicación
No puedes crear nuevos temas
No puedes responder temas
No puedes subir archivos adjuntos
No puedes editar tus mensajes

BB code is Activado
Caritas están Activado
[IMG] está Activado
Código HTML está Desactivado


La Zona horaria es GMT -6. Ahora son las 22:53.


Message Board Statistics

LinkBacks Enabled by vBSEO 3.1.0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93