Problema Chrome y evento OnClick

Baugg

Malware Researcher
Se incorporó
7 Diciembre 2008
Mensajes
73
Estoy intentando ejecutar una función en el lado del servidor usando el evento onclick de un botón, pero llamándola desde una función en JS. Ahora el problema es que el código sólo funciona en Firefox, y necesito que también lo haga en Chrome... El código es el siguiente:

function () llamar{
document.getElementById("Button1").click();
}

<asp:Button type="submit" ID="Button1 runat="server" OnClick="Funcion" />

Alguna sugerencia?

Saludos.
 

Matjazz

asdf
Se incorporó
18 Agosto 2007
Mensajes
1.196
no se asp, pero el onclick en html es en minusculas, y tambien puedes, dentro del evento, ponerle javascript: para probar

... onclick="javascript:funcion(argumento)" />
 
Upvote 0

Baugg

Malware Researcher
Se incorporó
7 Diciembre 2008
Mensajes
73
En ASP no hay diferencia, ya que no es case sensitive, y los eventos en HTML tampoco. Creo que tendré que usar jQuery para hacer la llamada, ya que también probé en IE y tampoco funciona con JS...

Saludos.
 
Upvote 0

Batou

%安全
Se incorporó
13 Julio 2008
Mensajes
497
No se si es porque estoy en el celu, pero veo que la declaracion de la función como

Function () llamar{}

No deberia ser function llamar(){}

Y luego en el asp en vez de poner function pones llamar.

Saludos.
 
Upvote 0

Baugg

Malware Researcher
Se incorporó
7 Diciembre 2008
Mensajes
73
Tienes razón, por algún motivo escribí/posteé mal el código... De todas formas está como corresponde en la aplicación y sigo con el mismo problema.

Saludos.
 
Upvote 0

nibal2

pajarón nuevo
MOD
Se incorporó
15 Junio 2007
Mensajes
2.898
En vez de ejecutar el evento click() del botón puedes ejecutar el evento submit() del form.

Y aunque sea case sensitive, acostumbra poner todo en minúsculas. Ya me ha pasado antes que alguna librería trabaje con mayúsculas o minúsculas y te provoca comportamientos extraños al iniciar con mayúscula ( REACT por ejemplo ). En todo caso, por mucho que la documentación de html diga que las funciones javascript o html o css son case sensitive ( u otras características ) los navegadores no siempre lllevan la documentación al pie de la letra.

http://www.w3schools.com/jsref/met_form_submit.asp
 
Upvote 0

MetalCOB

Miembro Regular
Se incorporó
2 Enero 2010
Mensajes
97
el button1 se dibuja en el html con el ID button1? no q en asp para sacar el id se usaba clientid(id)?
verifica eso
y finalmente en Chrome has una consola de button1 a ver si te tira undefined
 
Upvote 0

Baugg

Malware Researcher
Se incorporó
7 Diciembre 2008
Mensajes
73
Gracias por las respuestas, pero finalmente reescribí el código con jQuery, ya que no pude solucionar el problema en JS. Aunque ahora tengo otro problema... Y es que al hacer click en un botón para llamar a una función del lado del servidor con jQuery, necesito hacer doble click para que se efectúe la llamada cuando debería realizarse con uno... Esto sólo pasa con Firefox. En IE y Chrome funciona OK.

El código:

$(document).ready(function() {

$('#Button1').on('click', function() {
$.ajax({
type: "POST",
url: "web.aspx/funcion",
data: '{}',
contentType: "application/json; charset=utf-8"
});
});

});

Alguna sugerencia?

Saludos.
 
Upvote 0

nibal2

pajarón nuevo
MOD
Se incorporó
15 Junio 2007
Mensajes
2.898
Debe ser algún otro problema en tu código. Usar algúna herramienta para debuggear? como firebug por ejemplo.

Si no la usas te recomiendo que instales firebug en firefox a ver si te aparece algún error o algo que ayude.
 
Upvote 0

Baugg

Malware Researcher
Se incorporó
7 Diciembre 2008
Mensajes
73
Usé Firebug (no soy familiar con el programa) y al hacer click aparece la petición POST en rojo, y con doble click aparece la misma más una repetida en 'espera'. Además de eso, no muestra errores.
 
Upvote 0

Batou

%安全
Se incorporó
13 Julio 2008
Mensajes
497
Usé Firebug (no soy familiar con el programa) y al hacer click aparece la petición POST en rojo, y con doble click aparece la misma más una repetida en 'espera'
Aparece en rojo porque la url que llama mediante ajax no existe en el servidor,,por lo que funciona perfectamente con un click.

Si haces doble click se haran dos peticiones.

Saludos
 
Upvote 0
Subir