Jetzt habe ich nämlich das Problem dass ich JS OO programmieren und nicht weiss, wie ich eine validierungsfunktion von der return onsubmit aufrufen kann.
Du vermischt hier verschiedene OOP-Ansätze. Schau dir mal meine Dokumentation zur Organisation von JavaScript an.
Einmal sprichst du Test als Objekt an und erwartest eine Methode onsub:
onsubmit="return Test.onsub();"
Dann rufst du Test als Konstruktorfunktion auf, machst aber nichts mit der erzeugten Instanz:
new Test();
var Test = function(){
var onsub = function(){
alert("TEST");
return false;
}
Hier definierst du eine lokale Funktion, die aber nicht weiter verwendet wird.
this.onsub = function(){
alert("TEST");
return false;
}
Hier definierst du eine Methode direkt an der Instanz (angenommen, Test wird als Konstruktor aufgerufen).
Test.prototype.onsub = function(){
alert("TEST");
return false;
}
Hier definierst du eine Methode am Prototyp. Instanzen von Test werden diese vererben.
Das sind mehr oder weniger alternative Ansätze. Du musst dich entscheiden, was du hier tun willst, und dann den entsprechenden Weg gehen.
Entweder du definierst ein einfaches Modul mit dem Objekt-Literal:
var Test = {
onsub: function () {}
};
Oder du arbeitest mit Konstruktoren, Prototypen und Instanzen. Das ergibt Sinn, wenn du mehrere Formulare dieser Art hast und sie konfigurieren willst. Dann solltest du das Event-Handling mit JavaScript lösen, sodass du die Test-Instanz nicht global verfügbar, sondern in sich gekapselt ist.
Mathias