domanda jsfiddle [duplicato]
-
26-10-2019 - |
Domanda
Questa domanda ha già una risposta qui:
Non riesco a ottenere questo estremamente semplice jsfiddle al lavoro. Il suo solo dovuto testare avviso quando fa clic sul pulsante. Che cosa mi manca qui?
Soluzione
È necessario cambiare il metodo di carico senza involucro (testa).
Ha qualcosa a che fare con il modo viene caricato il codice JavaScript e quando la firma del metodo viene letto. http://jsfiddle.net/u9nG6/11/
Altri suggerimenti
jQuery è selezionato per il carico onDomReady
così la funzione è avvolto nella funzione $(function(){ });
jQuery anonima e non è visibile. O il cambiamento jQuery per caricare come no wrap (head)
o definire la funzione in ambito globale.
qui .
È necessario definire la funzione validateForm
in ambito globale, al fine di essere in grado di utilizzarlo nel codice HTML del genere. In caso contrario, avete avuto definita come una funzione di nel la portata della manifestazione onDomReady
, che è al di fuori di tale ambito inaccessibile.
Un approccio più "jQuery-ish" sarebbe quella di utilizzare jQuery per gestire l'evento click
in questo modo:
$("#id_btnSubmit").click(validateForm);
qui per un esempio di questo suggerimento.
Si sta utilizzando jQuery + ondomready. Questo significa che qualsiasi JavaScript che si scrive è posto all'interno di
$(function() {
e
});
Questo porta ad un problema ambito. Si può provare la seguente, invece.
window.validateForm = function() {
}