我有两个由同事编写的脚本,用于使用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/

10-12 12:26