Pregunta de JSFiddle [Duplicado
-
26-10-2019 - |
Pregunta
Esta pregunta ya tiene una respuesta aquí:
- ¿Por qué mi JavaScript no funciona en JSFIDDLE? 7 respuestas
No puedo hacer que este jsfiddle extremadamente simple funcione. Se supone que se alerta a la prueba cuando se hace clic en el botón. ¿Que me estoy perdiendo aqui?
Solución
Tienes que cambiar el método de carga a no envoltura (cabeza).
Tiene algo que ver con cómo se carga el JavaScript y cuándo se lee la firma del método. http://jsfiddle.net/u9ng6/11/
Otros consejos
JQuery Framework se selecciona para cargar onDomReady
para que su función esté envuelta en la función anónima jQuery $(function(){ });
y no es visible. Cambie jQuery para cargar como no wrap (head)
o defina su función en el alcance global.
Ver aquí.
Necesitabas definir tu validateForm
Funciona en el alcance global para poder usarlo en el HTML como ese. De lo contrario, lo tenía definido como una función dentro de el alcance del onDomReady
evento, que es inaccesible fuera de ese alcance.
Un enfoque más "jQuery-ish" sería usar jQuery para manejar el click
evento como este:
$("#id_btnSubmit").click(validateForm);
Ver aquí Para un ejemplo de esa sugerencia.
Estás usando jQuery + onDomready. Esto significa que cualquier JavaScript que escriba se coloca en
$(function() {
y
});
Esto lleva a un problema de alcance. Puede probar lo siguiente en su lugar.
window.validateForm = function() {
}