Используйте значения из одной функции JavaScript в другую

0

Мне нужна небольшая рука здесь, обе эти функции javascript работают правильно, но мне нужно значение из первого скрипта, поэтому я могу "POST" его, но я не могу понять, как сделать (string [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"

});
});

Тогда единственной функцией является второй скрипт для публикации в "update_db.php" значения из (строка [3]) из сценария выше, а также перезагрузка страницы одновременно. Мне нужно значение в области "STRING [3] GOES ЗДЕСЬ".

$(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>
  • 0
    У вас есть синтаксическая ошибка во второй строке вашего кода var string[3]{
Теги:

2 ответа

1
Лучший ответ

Поместите var string над строкой:

$("#jquery_jplayer_1").jPlayer({

И удалите var из

 var string = data.split('|');

Теперь вы можете получить доступ к string в любой функции.

  • 0
    Все еще не работает :( Вы можете проверить изменения выше?
  • 0
    Что ты здесь делаешь..? var string[3]{ Просто delcare var string; Разделите его, когда вам нужно, и используйте string[3] же, как вы это делали
Показать ещё 1 комментарий
0

Вы можете сделать его глобальной переменной, добавив что-то вроде следующего вверху вашей страницы:

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

Задайте значение str3 в первой функции и затем получите доступ к ней в последней.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню