0

我是 javascript 的新手,我正在开发一个将使用和享受 Last.fm API 的项目。

但我的问题如下:我将创建 2 个字段:

第一:乐队名称

二:对于粉丝

输入乐队名称时,我将向 last.fm API 发送请求,但即使在那里我也做得很好。

问题是,当我收到我想要的请求时,它会自动放入“对于粉丝”字段。

我尝试使用事件 onkeypress, onkeydown .. 但没有取得太大的成功。

有人有什么建议吗?

请求是通过这些文件发出的:github.com/fxb/javascript-last.fm-api

我的代码如下:

Javascript:

/* Create a cache object */
var cache = new LastFMCache();

/* Create a LastFM object */
var lastfm = new LastFM(
{
    apiKey    : 'XXXXX',
    apiSecret : 'XXXXXX',
    cache     : cache
});

function getName() 
{
    var bandname = $('#bandname').val();
    var forfansof = $('#forfans').val();
    forfansof = bandname;

    /* Load some artist info. */
    lastfm.artist.getSimilar(
    {
        artist: bandname
    }, 
    {
        success: function(data)
        {
        /* Pega os 3 nomes das bandas similares */
        for(var i = 0 ; i < 3 ; i++)
        {
            var artist = data.similarartists.artist[i].name;
            $('#forfans').val($('#forfans').val() + artist + ", ");
        }

    }, 
    error: function(code, message)
    {
        $('#forfans').val("Nenhum artista encontrado.");
    }
});
}

HTML:

<form action="" method="post">
    <input name="bandname" id="bandname" value="" onkeypress="javascript:getName();">
    <input name="forfansof" id="forfans" style="width:300px;" value="">
</form>
4

1 回答 1

0

我已将您从 GitHub 获得的代码放入小提琴中,但我对 API 不了解,无法说明接下来需要发生什么。

我为修复 console.log 中显示的即时错误所做的更改

HTML

<form action="" method="post">
    <input name="bandname" id="bandname" value="">
    <input name="forfansof" id="forfans" style="width:300px;" value="">
</form>

JavaScript

document.getElementById("bandname").addEventListener("keypess", getName, false);

jsfiddle 上

于 2013-04-28T00:49:41.273 回答