2017-04-05 1 views
2

J'ai reçu un cours en JavaScript. Dans cette classe, j'ai une méthode vérifiant l'entrée des champs de texte. Lorsque le corps du document html est en cours de chargement, je souhaite appeler cette méthode pour la première fois. Après cela, je veux utiliser l'événement "onchange()". Donc quand j'ouvre mon document, il est dit "HandleInputFields()" n'est pas défini. Comment puis-je appeler cette méthode correctement?Méthodes d'appel en JavaScript Classes

Répondre

2

Vous devez définir la méthode en tant qu'un static et y accéder via sa portée class.

Ainsi, dans class NoteController { ...

changement HandleInputFields() {-static HandleInputFields() { puis y accéder via

<body onload="NoteController.HandleInputFields()"> 

Explication: Actuellement, vous essayez d'accéder à la méthode sans contexte qui window.HandleInputFields() à des solutions de repli. Votre intention est cependant d'y accéder via le contexte de NoteController, d'où l'appel NoteController.HandleInputFields(). Cependant, pour pouvoir faire l'appel directement sur une classe et non sur une instance, vous devez le définir comme static.

+0

Merci beaucoup! :) Et comment pourrais-je passer dans la valeur d'entrée en tant que paramètre? 'document.getElementById ('edtNoteTitle'). value' par exemple' Créer ' ? – peterHasemann

+0

vous êtes les bienvenus, à propos de la deuxième question - presque, il devrait être 'onclick =" NoteController.CreateNote ("+ document.getElementById ('edtNoteTitle'). Valeur +") "' – lustoykov

+0

Merci :) qui a aidé – peterHasemann