在Backbone中获取表单的值

时间:2013-09-05 21:19:58

标签: jquery backbone.js

我正在考虑将用jQuery编写的应用程序迁移到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

  }
事先提前

1 个答案:

答案 0 :(得分:3)

输入既没有longitude也没有phone属性。 我猜你需要得到那些字段的值。

$("#longitude").val(); //longitude value
$("#phone").val(); //phone value
  1. 您可以通过其ID获取元素(字段)。 $("#field_id") - 使用id == field_id创建围绕HTMLElement的jquery。
  2. 通过调用val()提取其值。