我正在考虑将用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
}
事先提前
答案 0 :(得分:3)
输入既没有longitude
也没有phone
属性。
我猜你需要得到那些字段的值。
$("#longitude").val(); //longitude value
$("#phone").val(); //phone value
$("#field_id")
- 使用id == field_id创建围绕HTMLElement的jquery。val()
提取其值。