I’ve got some validation in my HTML like so:
The page has a “shared” button on it:
{{> Template.dynamic template=getStepTemplate}}
This button is “constant” to all the Templates (which are dynamically swapped out). The button works fine as far as replacing one Template with another with this code:
Template.postTravelWizard.events({ 'click #nextStep': function(e, t) { // e.preventDefault(); //save something... var step = Session.get('stepNum'); step = (step) < 5 ? ++step : 1; Session.set('stepNum', step); },
However, the form validation does not fire, presumably because this is a button, and not an input of type “submit”.
But if I change it from a button to an input type=“submit”, that is to say from this:
Next
…to this:
…and the event handler to this:
Template.postTravelWizard.events({ //'click #nextStep': function(e, t) { 'submit form': function(e) { e.preventDefault(); //save something... var step = Session.get('stepNum'); step = (step) < 5 ? ++step : 1; Session.set('stepNum', step); } },
…it won’t swap out the Templates. In fact, the breakpoint I set in the “‘submit form’: function(e) {” handler (on the “e.preventDefault();” line) is not even reached…???
It’s a “Catch-22” situation.
Do I have to, in a case such as this, manually validate the form entries?