1
{{#autoForm schema="schema" id="submitoffer" type="method" meteormethod="submitoffer"}} 
     {{> afQuickField name="startLocation"}} 
     <input id="date" type="text" class="form-control datepicker"> 
     <input id="departureTime" type="text" class="form-control timepicker"> 
     <input id="returnTime" type="text" class="form-control timepicker"> 
     {{> afQuickField name="seats" type="number"}} 
     <button type="submit" class="btn btn-primary">Offer lift</button> 
    {{/autoForm}} 

Я хочу, чтобы иметь возможность использовать дату, departureTime и returnTime входы (которые реализации pickadate.js. Однако, когда я отправить форму на сервер, эти входы . не взял как часть формы Как я могу требовать ввода данных в них, а также представить их с AutoFormДобавление пользовательских полей ввода на AutoForm в Метеоре

ответ

1

Вы можете использовать afFieldInput элементы и установить атрибут class в вашей схеме

Например?.:

<body> 
    {{#autoForm collection="Offers" id="submitoffer" type="insert"}} 
     {{> afQuickField name="startLocation"}} 
     {{> afFieldInput name="date"}} 
     {{> afFieldInput name="departureTime"}} 
     {{> afFieldInput name="returnTime"}} 
     {{> afQuickField name="seats"}} 
     <button type="submit" class="btn btn-primary">Offer lift</button> 
    {{/autoForm}} 
</body> 

if (Meteor.isClient) { 
    Template.body.onRendered(function() { 
     $('.datepicker').pickadate(); 
     $('.timepicker').pickatime(); 
    }); 
} 

Offers = new Mongo.Collection("offers"); 

Offers.attachSchema(new SimpleSchema({ 
    date: { 
     type: String, 
     label: "Date", 
     autoform: { 
      afFieldInput: { 
       class: "datepicker" 
      } 
     } 
    }, 
    departureTime: { 
     type: String, 
     label: "Departure Time", 
     autoform: { 
      afFieldInput: { 
       class: "timepicker" 
      } 
     } 
    }, 
    returnTime: { 
     type: String, 
     label: "Return Time", 
     autoform: { 
      afFieldInput: { 
       class: "timepicker" 
      } 
     } 
    }, 
    seats: { 
     type: Number, 
     label: "Seats" 
    }, 
    startLocation: { 
     type: String, 
     label: "Start Location" 
    } 
})); 

Обратите внимание: Приведенный выше пример использует строковый тип для поля date. Я настоятельно рекомендую хранить date значения как JavaScript Date объектов. Вы можете использовать beforehook для преобразования объектов Strings to Date.

Смежные вопросы