2013-04-28 237 views
0

我是新来的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> 
+0

您如何收到请求?它是AJAX还是什么? – Ivan 2013-04-28 00:29:35

+0

@Ivan我不知道哈哈,我从这个网站开始了这个项目:https://github.com/fxb/javascript-last.fm-api。但是我对这个请求没有问题,但是自动把他放到了这个领域。谢谢。 – 2013-04-28 00:38:36

+0

@RomuloArgolo我只是认为,如果它与AJAX一起使用,那么你可以在里面放置成功:'function(){}'一些代码将你的数据放到你想要的字段中 – Ivan 2013-04-28 00:44:14

回答

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