2017-01-10 3 views
0

Ich arbeitete an Co-drops Minimal Form Interface. Ich konnte dieses Code-Snippet in StepsForm.js nicht verstehen. (Linie 50)Wie funktioniert der Prototyp für onSubmit: function()?

stepsForm.prototype.options = { 
     onSubmit : function() { return true; } 
    }; 

Ich bin neu in JS, und würde nicht eine Erklärung für den gesamten Code in stepsForm dagegen, wenn jemand die Zeit, dies zu tun. Aber eine Erklärung für das Obige kann vorerst Wunder für mich tun. Ich weiß, was ein Prototyp ist, aber der OnSubmit-Teil geht mir über den Kopf. Ich habe auf einer anderen Frage gelesen, dass dies eine Aktualisierung verhindern soll, aber ich fühle, dass das falsch ist.

Antwort

1

Die Bibliothek stellt eine options Eigenschaft zur Verfügung, die Sie verwenden können/können, um Ihre eigenen übergeordneten Werte zu übergeben. Dieser stellt insbesondere onSubmit dar.

Für alle html form ein onSubmit wird aufgerufen, wenn die Übermittlungsaktion von einer anderen Funktion oder durch Klicken aufgerufen wird.

In der Bibliothek gibt der Standardwert onSubmit den Wert true zurück, dh, führen Sie einfach die Aktion aus. Dies kann außer Kraft gesetzt werden, um mit Ihnen individuelle wie diese funktionieren ...

<script> 
    var FORM_ELEMENT = document.getElementById('myForm') 
    new stepsForm(FORM_ELEMENT, { 
     onSubmit : 
     function (FORM_ELEMENT) { 
      alert('You are about to submit the form '); 
      //manipulate your form or do any preprocess work... 

      return true; 

     }); 
</script> 

Innerhalb der Bibliothek der _submit (Linie 196 stepForm.js) genannt wird, die inturn die onSubmit nennt. Dieses Mal wird anstelle des Standards der oben hinzugefügte ausgeführt.

stepsForm.prototype._submit = function() { 
    this.options.onSubmit(this.el); 
} 

Hoffe, dass hilft.

+0

Es scheint jedoch keinen Sinn zu geben, einen bestimmten Wert zurückzugeben, es wird ignoriert. – RobG

+0

Danke eine Tonne. Habe es in kürzester Zeit verstanden. –

+0

@RobG Wenn Sie sich am Ende von onsubmit auf 'return true' beziehen, bestätigt das nicht, dass onSubmit ausgeführt wird, andernfalls fail/stop wenn false. Habe ich falsch damit das zu sagen? – Searching

Verwandte Themen