Я подумываю о переносе приложения, написанного в jQuery на Backbone, и тестирую несколько частей. У меня возникают проблемы с получением значений формы и я следую различным источникам, которые могут быть устаревшими или разными методами.Получение значений формы в Backbone
Вот что у меня есть, и я прокомментировал основную проблему, которая связывает форму с этим представлением. Но это может быть просто проблема синтаксиса. В частности, строка var inputLongitude=$input.attr('longitude');
не работает. Я пытаюсь получить значение долготы, но просто не работаю. Я также не уверен, что это должно быть e.target или e.currentTarget (или ни одно из них, поскольку работает только jQuery). Любая помощь с фиксацией этого была бы весьма признательна. Как получить значение долготы из моей формы?
// no form tags on this piece
<input type='text' id='phone' />
<input type='text' id='longitude' name='longitude' />
<button class='submit-detail'>submit</submit>
var LocationDetailView = Backbone.View.extend({
events: {'click .submit-detail':'submitModel', 'change input':'input_change'},
initialize: function(){
_.bindAll(this, 'input_change');
},
render: function(){
.... // form is in here as a string
},
input_change: function(e){
var $input=$(e.currentTarget);
var inputLongitude=$input.attr('longitude'); // this doesn't work and I'm trying to get to work
var inputPhone=$input.attr('phone');
var inputPhone=$('#phone').val();
console.log("input was changed" + inputLongitude); // get undefined
console.log("input was changed" + inputPhone); // this works fine
}
ТНХ заранее
thx, похоже, что я предпочел бы ввести данные, эти атрибуты, не так ли? Разве это не более канонический хребет? Я делаю в основном сервер dev, поэтому просто пытаюсь найти лучший способ сделать это. – timpone
@timpone Это не поможет. Эти атрибуты не будут обновляться, когда пользователь изменяет значения в входах. Я рекомендую вам прочитать это http://backbonejs.org/docs/todos.html . Backbone не имеет встроенного двунаправленного привязки данных. Если вы ищете инфраструктуру, которая автоматически связывает входные данные с js-моделями, посмотрите на Knockout. –