2015-02-22 1 views
0

Я новичок в метеор и javascript, и я разрабатываю приложение только для удовольствия.Route.go не работает в форме submit

Я использую метеор с ионным. У меня есть простой вид:

<form> 
     .... 
     <label class="item item-input"> 
      <input type="text" name="title" placeholder="Post Title" required> 
     </label> 
     .... 
     <label class="item item-input" > 
     <textarea name="message" required></textarea> 
    </label> 
    ... 
    <button class="button icon-left ion-android-upload button-large create-button button-positive"> 
     Create 
    </button> 
    ..... 
<form> 

и относительный помощник выглядеть следующим образом:

Template.boxSubmit.events({ 
    "click .create-button": function (e) { 
     var box = createBoxFromForm($('form').serializeArray()); 
     Boxes.insert(box); 
     Router.go('/'); 
    }}; 

Запись вставлена, но нет никакого перенаправления на «/». Если я ввожу:

e.preventDefault(); 

Запись вставлена, перенаправление работает, но я не получаю основную форму автоматической проверки (нулевое поле с ошибками сообщается пользователям).

Есть ли способ иметь оба?

+0

Вы нашли обходное решение для этого? – Ethaan

+0

У меня не было времени попробовать ... это проект после работы, когда я вернусь домой, я попробую, tnx. – perusopersonale

ответ

0

Не забудьте добавить к вашей кнопке атрибут type="submit", и определенно используйте e.preventDefault() в обработчике событий.

Не уверен на 100%, но я считаю, что проверка HTML5 по умолчанию запускается только при нажатии кнопки, тип которой явно определен в типе отправки.