1

我正在考虑将一个用 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

  }

提前谢谢

4

1 回答 1

3

输入既没有longitude也没有phone属性。我想您需要获取这些字段的值。

$("#longitude").val(); //longitude value
$("#phone").val(); //phone value
  1. 您可以通过其 id 获取元素(字段)。$("#field_id")- 使用 id == field_id 创建围绕 HTMLElement 的 jquery。
  2. 通过调用提取其值val()
于 2013-09-05T21:28:11.807 回答