consulta un control asp.net pude llamar una funcion hecha en javascript, si se puede como se hace.
nota: el control asp que uso es un calendario
de ante mano gracias por la ayuda
|
|
#2 (permalink) |
|
Moderador
|
Claro que puedes hacerlo...
Puedes agregarle atributos desde tu codebehind.. algo así:
Cita:
tu_control.Attributes.Add("evento","eventoJavascript();")
donde evento puede ser, onclick, onblur, onchange..etc.. Salu2
__________________
Nadie roba nada ya que en la vida todo se paga . . . |
|
|
|
#3 (permalink) |
|
401 Mensajes ![]() |
Duda
Tengo una pequeña duda, al hacer el Attributes.Add, ocurre de que se pierden eventos como los validadores, por ejemplo yo hago un Attributes.Add("onclick","return confirm(' Pregunta');"); y bueno es para preguntar antes de hacer algo, pero si es que los datos no están correctos no me tira un ValidationSummary que utilizo para lanzar una alerta de validación, concreto:
Como hago para que al cargarle en el método Control.Attributes.Add(); cualquier funcion javascript, persistan otras funciones asignadas al mismo evento ya del lado del servidor? (en este caso un OnClick)
__________________
0.o Rodri |
|
|
|
#4 (permalink) |
|
2.249 Mensajes Ubicación: Cusco - Perú
![]() |
Cita:
Por qué no lo pusiste en un nuevo mensaje??
Iniciado por rodri
Tengo una pequeña duda
Bueno, el "problema" radica en la forma en la que son añadidos dichos atributos por el .Net Framework, te pongo el ejemplo para el caso de la validación: Añade el evento onclick del botón* en el lado del cliente
Código:
Si es que no se utiliza ningún validador o la propiedad CausesValidation del botón* está en false, generaría este código:Button1.Attributes.Add("onclick","return confirm('Estas Seguro');");
Código:
Caso contrario, generaría el siguiente código:<input ... onclick="return confirm('Estas Seguro');" ... />
Código:
Y si estás familirarizado con javascript, observerás que sólo se va a ejecutar "return confirm('Estas Seguro');", por consiguiente no se realiza la validación.<input ... onclick="return confirm('Estas Seguro');if (typeof(Page_ClientValidate) == 'function') Page_ClientValidate(); " ... />
Para "solucionar" esto, lo que puedes hacer es poner la propiedad CausesValidation del botón* en false, para evitar que se añada lo siguiente al evento onclick: "if (typeof(Page_ClientValidate) == 'function') Page_ClientValidate();" Entonces tu código quedaría de esta forma:
Código:
botón*: puede ser cualquier control que acepte la propiedad Attributes y haga un postback Button1.Attributes.Add("onclick", "if (typeof(Page_ClientValidate) == 'function') Page_ClientValidate();return confirm('Estas Seguro');");
Cita:
Sólo el interés de saber como funcionan las cosas
Iniciado por rodri
Como hago para que al cargarle en el método Control.Attributes.Add(); cualquier funcion javascript, persistan otras funciones asignadas al mismo evento ya del lado del servidor? (en este caso un OnClick)
.Saludos Última edición por xknown; 17-abr-2005 a las 00:16 |
|
![]() |
| Herramientas | |
| Desplegado | |
|
|