У меня возникла огромная проблема с моей формой, которую я проверяю в реальном времени с помощью Semantic UI.
HTML:
<form class="ui form pin-form">
<div class="field">
<label>Email</label>
<input placeholder="[email protected]" name="email_input" type="text">
</div>
<div class="ui buttons">
<input type="submit" class="ui submit positive disabled button login-button" value="Log in">
</div>
</form>
Я сам добавил тег <form>
и превратил отправку в input
, чтобы получить доступ к обычному submit form
.
Проверка в реальном времени осуществляется из Semantic UI и пакета Meteor: https://github.com/avrora/live-form-validator
На рендере шаблона я делаю следующее:
if (!this._rendered) {
this._rendered = true;
pinForm = $('.ui.form.pin-form');
pinForm.form({
my_text_input: {
identifier: 'email_input',
rules: [
{
type: 'empty',
prompt: 'Type your email address'
},
{
type: 'email',
prompt: 'This is not yet a valid email address'
}
]
}
},
{
inline: true,
on: 'blur',
transition: 'slide down',
onSuccess: function () {
var submitButton = $('.ui.submit.button')
submitButton.removeClass('disabled')
return false
},
onFailure: function() {
var submitButton = $('.ui.submit.button')
submitButton.addClass('disabled')
}
})
}
Большая проблема здесь в том, что с return false
он вообще не отправляет форму, даже когда нажимает кнопку отправки, а без нее он отправляет форму в реальном времени, чего я не хочу!
Может ли кто-нибудь увидеть обходной путь или мне нужно как-то переключить проверку?