Bonjour,
c'est normal d'avoir ces erreurs car tu modifies des éléments AngularJS avec du code non AngularJS, du coup tu perds toute la notion de scope et de watcher.
Pour régler ton problème, il te faut penser un peu différemment.
Problème du formulaire :
Il faut voir le formulaire comme un système d'entrée/sortie découpée de ton student. Le rôle de ton formulaire c'est de prendre des propriétés et de les enregistrer.
Problème de la création/update :
Une fois que le formulaire a récupéré les valeurs, tu peux analyser s'il s'agit d'une création ou d'un update.
j'ai fait un petit schéma :
http://hpics.li/7c9a16d
html
Et voila le squelette du code (tout n'y est pas, je n'ai mis que ce qui corrige ton problème).
PS : Lorsque tu utilises ngModel, ne modifie pas la valeur avec des setAttribute, modifie directement la valeur.
Tu verras qu'Angular gère la mise à jour de la vue lors du clic sur le bouton. C'est le principe de watcher.