Страница 3 из 3
Re: Как правильно прописать полученные значения от метода ВК?
Добавлено: 07 дек 2012, 21:18
Alazaur
Casperovskii писал(а):Попытка холивара засчитана! But you shall not pass!
Под*еб тоже
На счет ника он левый) Я прост когда на форуме регистрировался не думал, что на долго задержусь.
Re: Как правильно прописать полученные значения от метода ВК?
Добавлено: 07 дек 2012, 21:32
Dimaz
Кстати, вот еще один вопрос. Как быстрее будет ссылаться на глобальный массив? Если создать ссылку на него в функции:
Код: Выделить всё
var Data2 = [];function select_h_friend() {data2 = Data2; //ссылка на глобальный массив Data2var img = $('#h_friend').val();if(img == '#') {$('#no').html('<img src="http://vk.com/images/dquestion_d.gif"></img>');}else {$('#no').html('<img src="' + data2[img].url + '"</img>');$('form p').css("display","block");}}
Или же если сразу обращаться к нему по имени, без ссылки на него в функции:
Код: Выделить всё
var Data2 = [];function select_h_friend() {var img = $('#h_friend').val();if(img == '#') {$('#no').html('<img src="http://vk.com/images/dquestion_d.gif"></img>');}else {$('#no').html('<img src="' + Data2[img].url + '"</img>'); //сразу обращается к массиву по его имени$('form p').css("display","block");}}
Re: Как правильно прописать полученные значения от метода ВК?
Добавлено: 07 дек 2012, 21:35
Alazaur
Dimaz, без разницы. Имя массива такая же ссылка.
Re: Как правильно прописать полученные значения от метода ВК?
Добавлено: 07 дек 2012, 22:24
Dimaz
И снова вопрос.

У меня теперь имеется глобальная переменная Data, хранящая данные в JSON формате. Если быть точнее, в ней хранится json-массив. И данные из нее достаются точно также как и из обычного массива. Мне нужно сформировать get-запрос для отправки на сервер. Но, чтобы его сформировать, мне нужно доставать данные как из Data так и из Data2. Что можно придумать?
Код: Выделить всё
var Data; var Data2 = [];function select_h_friend() {var img = $('#h_friend').val();if(img == '#') {$('#no').html('<img src="http://vk.com/images/dquestion_d.gif"></img>');}else {$('#no').html('<img src="' + Data2[img].url + '"</img>'); //переменная img локальная$('form p').css("display","block");}}
Запрос формирует другой скрипт. Я не могу прописать так:
Код: Выделить всё
var str = $("input:radio[class=server]").serialize();str += "&answer_id="+Data[0].id;str += "uid="+Data2[img].url
Переменная img локальная, поэтому работать из другого скрипта не будет. Сделать ее тоже глобальной? Или есть еще какие-нибудь варианты?
Re: Как правильно прописать полученные значения от метода ВК?
Добавлено: 07 дек 2012, 22:27
Casperovskii
Dimaz
Либо оглобалить все переменные, либо свести функции в один скрипт. А за готовыми решениями ты не туда пришел. К тому же в студию хотелось бы оба скрипта, которые у тебя уже есть.
Re: Как правильно прописать полученные значения от метода ВК?
Добавлено: 07 дек 2012, 22:50
Dimaz
Casperovskii
А толку если в один скрипт функции запихать. Она все равно будет не доступна, так как она локальная. Глобальной она от этого не станет.
Просто данные в Data идут с моего сервера, а в Data2 записываются методом users.get.
Re: Как правильно прописать полученные значения от метода ВК?
Добавлено: 07 дек 2012, 23:06
Dimaz
У меня тестовое приложение. Просто обычный опрос пользователей. Публиковать его естественно не буду. Пишу его ради того, чтобы понять VK.api и изучить JQuery. Вот код самого приложения:
Код: Выделить всё
var Data; var i = 0; var y = 0;function button(x) {if(x==1) { //если нажата кнопка Далее, проверяем создан ли опрос. Если создан, просто скрываем текущий и показываем следующийif(i!=y) { //если опрос уже создан$('#here' + i).css("display", "none");i++;$('#here' + i).css("display", "block");}else { //если опрос еще не создан на странице$('#here' + i).css("display", "none");i++; y++;go();$('#back').css("display", "inline-block");}}else if(x==2){ //Если нажата кнопка Назад, скрываем текущий опрос и показываем предыдущийif(i>0) { //Значит мы еще не дошли до первого опроса и продолжаем показывать предыдущий$('#here'+ i +',#send').css("display", "none");i--;$('#here' + i).css("display", "block");}else { //Мы дошли до первого опроса. Предыдущих больше нет, возвращаем ложьreturn false;}}console.log("i="+i,"y="+y);} function sending() {var str = $("input:radio[class=server]").serialize();str += "&test_id="+Data[0].id;alert(str);$.get('save_data.php?'+str,function(data2){if(data2) {alert(data2);}});} function go() { //создаем новый опросdata = Data;if(i > data.length - 1) { Если дошли до последнего опроса, возвращаем ложь и показываем кнопку Отправить$('#send').css("display", "inline-block");y--;return false;}var row = '';row = '<span class="test" id="here'+i+'">';row += '<b>' + data[i].questions + '</b><Br>';var ss = data[i].answers.split(',');for (var i2 = 0; i2<ss.length; i2++) {row += '<input type="radio" class="server" name="id_answer'+i+'" value="' + i2 + '">' + ss[i2] + '<Br>';}row += '</span>'$('#feeds').prepend(row);} $(document).ready(function(){$('form input:image').click(function() {var drink = $('input[name=drink]:checked').val();if(!drink) {alert("Выберите тему опроса"); return false;}$.post('load_data.php', {drink: drink},function(data){Data = data;if(data) {var fieldsCount = data.length;var row = '';if(fieldsCount) { //создаем кнопки для переключения опросовrow = '<form><button onclick="button(1); return false;">Далее</button>';row += '<button id="back" style="display: none" onclick="button(2); return false;">Назад</button>';row += '<button id="send" style="display: none" onclick="sending(); return false;">Отправить</button></form>';$('#feeds').html(row);go();}} }, "json"); return false;});});
Re: Как правильно прописать полученные значения от метода ВК?
Добавлено: 08 дек 2012, 13:00
Dimaz
Можно как-то без глобальных переменных обойтись в моем случае?
Re: Как правильно прописать полученные значения от метода ВК?
Добавлено: 08 дек 2012, 14:23
Casperovskii
Я хз, с JS не работал. Так что я не пойму, чем так пугают глобальные переменные? У тебя же не так много вычислений и нагрузка минимальна. Значит и оптимизировать не надо.