我有两个由我的同事编写的脚本,用于自动填写表格,其中包含来自facebook graph-api的信息。我想弄清楚哪种编码方式更有效?
这是第一个。 http://jsfiddle.net/TcGGZ/30/
$('#account_get').click(function(){
$.getJSON('http://graph.facebook.com/'+$('#facebook').val(), function(fd) {
$('#id').val(fd.id);
$('#name').val(fd.name);
$('#first_name').val(fd.first_name);
$('#last_name').val(fd.last_name);
$('#link').val(fd.link);
$('#username').val(fd.username);
$('#gender').val(fd.gender);
$('#locale').val(fd.locale);
});
});
这是我想要决定的第二个。 http://jsfiddle.net/VuY2b/46/
var facebook_account = '';
function fillForm() {
facebook_account = $('#facebook').val();
$.getJSON('http://graph.facebook.com/' + facebook_account, function(data) {
var facebook_data = data;
console.log(facebook_data);
var inputs = $('form > input');
for (var key in facebook_data) {
for (var l = 0; l < inputs.length; l++) {
if (inputs[l].getAttribute('name') === key) {
inputs[l].value = facebook_data[key];
}
}
}
});
}
var x = document.getElementById('account_get');
x.addEventListener("click", fillForm, false);
答案 0 :(得分:0)
第一个很简单,第二个很复杂。
根据我的说法,第二种方法是有效的,因为,如果您的网站表单属性是变化的,第二种方法检查正确匹配的属性并正确填充它。所以我更喜欢第二种。