我有两个由同事编写的脚本,用于使用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);
最佳答案
第一个很简单,第二个很复杂。
对我来说,第二种方法之所以有效是因为,如果您的网站表单属性变化,第二种方法会检查正确的匹配属性并正确填写。因此,我更喜欢第二种方法。
关于javascript - 用Facebook图自动填写表格,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13384382/