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?

http://jsfiddle.net/u9nG6/2/

È stato utile?

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

quadro

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() {
}
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top