动态设置输入值

时间:2013-04-28 00:21:16

标签: javascript jquery last.fm

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

但我的问题如下: 我将制作2个字段:

首先:乐队名称

第二:对于

的粉丝

当输入乐队的名称时,我将向last.fm API发送请求,但即便如此,我也表现不错。

问题在于,当我收到请求时,我希望它自动输入“For fans of”字段。

我尝试使用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>

1 个答案:

答案 0 :(得分: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