使用从一个javascript函数到另一个javascript函数的值

时间:2013-12-13 19:36:31

标签: javascript jquery

我需要一点手,这两个javascript函数都正常工作,但我需要第一个脚本的值,所以我可以“POST”它,但我无法弄清楚如何制作(字符串[ 3])在第二个脚本上显示的值,因此使用它。

第一个脚本的唯一功能是从getsong.php文件中获取值

<script type="text/javascript">
var string[3]{
$(document).ready(function(){
$("#jquery_jplayer_1").jPlayer({
    ready: function () {
        var data = $.ajax({
          url: "getsong.php",
          async: false
         }).responseText;

         string = data.split('|');
        $(this).jPlayer("setMedia", {
            mp3: string[0]
        }).jPlayer("play");

        $('ol#one').html(string[1]);
        $('ol#two').html(string[2]);
        $('ol#three').html(string[3]);

    },
    ended: function (event) {  
        var data = $.ajax({
          url: "getsong.php",
          async: false
         }).responseText;

         string = data.split('|');
        $(this).jPlayer("setMedia", {
            mp3: string[0]
        }).jPlayer("play");


        $('ol#one').html(string[1]);
        $('ol#two').html(string[2]);
        $('ol#three').html(string[3]);

    },
    swfPath: "js",
    supplied: "mp3"

});
});

然后唯一的功能是使用上面脚本中的(string [3])值发布到“update_db.php”的第二个脚本,并且同时重新加载页面。我需要'STRING [3] GOES HERE'区域中的值。

$(function() {
$("#submit01").click(function() {
var song_id = $("#song_id").val();
var dataString = 'song_id='+ 'STRING[3] GOES HERE';

if(song_id=='')
{
$('.success').fadeOut(200).hide();
$('.error').fadeOut(200).show();
}
else
{
$.ajax({
type: "POST",
url: "update_db.php",
data: dataString,
success: function timedRefresh(timeoutPeriod) {
setTimeout("location.reload(true);","0");
}
});
}
return false;
});
});


/////
}

</script>

2 个答案:

答案 0 :(得分:1)

var string放在该行上方:

$("#jquery_jplayer_1").jPlayer({

中删除var
 var string = data.split('|');

您现在可以在任何所需的功能中访问string

答案 1 :(得分:0)

您可以通过在页面顶部添加以下内容使其成为全局变量:

<script>
    var str3 = '';
</script>

在第一个函数中设置str3的值,然后在后者中访问它。