使用facebook图表自动填写表单

时间:2012-11-14 17:52:12

标签: javascript facebook forms facebook-graph-api

我有两个由我的同事编写的脚本,用于自动填写表格,其中包含来自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);​

1 个答案:

答案 0 :(得分:0)

第一个很简单,第二个很复杂。

根据我的说法,第二种方法是有效的,因为,如果您的网站表单属性是变化的,第二种方法检查正确匹配的属性并正确填充它。所以我更喜欢第二种。