Ich bin dabei, ein JavaScript-Objekt zu schreiben, das eine Methode enthält, die das HTML eines Standardformulars zurückgibt. In diesem Objekt habe ich auch eine Methode validate(); Ich möchte, dass das generierte Formular validate() verwendet;Funktionen als String in Javascript zurückgeben
So ist der typische HTML-Code einer Form mit Validierung würde wahrscheinlich so aussehen:
<form id="a" onSubmit="return validate();">
Das Problem ist, dass ich die Objektinstanz verweisen zu können, so es müßte mehr sein wie onSubmit="my_object.validate();">
Ich habe so etwas wie return '<form id="a" onSubmit="return ' + this.validate + '();">';
versucht, aber ich bekomme wirklich seltsames Verhalten.
Wenn ich die Prüf-Funktion willkürlich return true machen wird das Formular abgeschickt, falsch nicht. Wenn ich alle anderen Berechnungen im Verfahren bekomme ich diesen Fehler:
> Error: syntax error Source Code:
> return id ==
Hat jemand etwas erlebt?
Es muss einen besseren Weg geben, als auf "eval()" zurückzugreifen. –
zweifellos, aber wenn Sie einen String-Wert haben, wie sonst können Sie es in etwas zur Ausführung bringen? –
@Dave Anderson: Sie versuchen zu vermeiden, mit einem String-Wert zu enden, der ausgeführt werden muss ...;) –