Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #21 (permalink)  
Старый 30.11.2012, 22:33
Аватар для vadim5june
Студент
Отправить личное сообщение для vadim5june Посмотреть профиль Найти все сообщения от vadim5june
 
Регистрация: 30.04.2012
Сообщений: 1,113

Сообщение от Dimaz
alert как раз таки срабатывает, но цикл не работает, ничего не выводится, что создает цикл.
ну ничего и ненаписано чтоб выводилось
попробуйте
function go(data, row) {
alert("Ok!");
for (var i in data) {
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" name="id_answer'+i+'" value="' + i2 + '">' + ss[i2] + '<Br>';
}
}
return row;
}

$(document).ready(function(){
$('form input:image').click(function() {
var drink = $('input[name=drink]:checked').val();
$.post('save_data.php', {drink: drink},
function(data){
if(data) {
var fieldsCount = data.length;
var row = '';
if(fieldsCount) {
row = '<form>';
row=go(data, row);
row += '<button onclick="go(data); return false;">Далее</button></form>';
$('#feeds').html(row);
}
}
  }, "json"); 
return false;
});
});
Ответить с цитированием
  #22 (permalink)  
Старый 30.11.2012, 22:43
Профессор
Отправить личное сообщение для Dimaz Посмотреть профиль Найти все сообщения от Dimaz
 
Регистрация: 25.12.2009
Сообщений: 222

Вот вот, недавно пришла такая же мысль, сделал return row, но не сработало. Прочитал ваше сообщение, теперь работает. Я так написал:
go(data, row);
, вместо:
row=go(data, row);

Спасибо! Весь день с этим мучился.)
Ответить с цитированием
  #23 (permalink)  
Старый 30.11.2012, 22:47
Аватар для vadim5june
Студент
Отправить личное сообщение для vadim5june Посмотреть профиль Найти все сообщения от vadim5june
 
Регистрация: 30.04.2012
Сообщений: 1,113

Сообщение от Dimaz
Спасибо! Весь день с этим мучился.)
Это еще не все от кнопки чтобы работало я гдето выше писал
Не работает функция по кнопке
надо переделать
Ответить с цитированием
  #24 (permalink)  
Старый 30.11.2012, 22:53
Профессор
Отправить личное сообщение для Dimaz Посмотреть профиль Найти все сообщения от Dimaz
 
Регистрация: 25.12.2009
Сообщений: 222

Сообщение от vadim5june Посмотреть сообщение
Это еще не все от кнопки чтобы работало я гдето выше писал
Не работает функция по кнопке
надо переделать
Да и это тоже еще не все.) Я останавливаю цикл оператором break, так как мне надо, чтобы он сделал только один круг(хотя он должен сделать 2). Потом когда нажимаю кнопку 'Далее', он должен выполнить второй круг, но для этого надо как-то передать в цикл i++, а то он тоже самое выведет.
Ответить с цитированием
  #25 (permalink)  
Старый 30.11.2012, 23:05
Профессор
Отправить личное сообщение для Dimaz Посмотреть профиль Найти все сообщения от Dimaz
 
Регистрация: 25.12.2009
Сообщений: 222

Я всего лишь
row += '<button onclick="go(this.data); return false;">Далее</button></form>';
добавил и он заработал по кнопке.))
Ответить с цитированием
  #26 (permalink)  
Старый 30.11.2012, 23:06
Аватар для vadim5june
Студент
Отправить личное сообщение для vadim5june Посмотреть профиль Найти все сообщения от vadim5june
 
Регистрация: 30.04.2012
Сообщений: 1,113

Сообщение от Dimaz Посмотреть сообщение
Да и это тоже еще не все.) Я останавливаю цикл оператором break, так как мне надо, чтобы он сделал только один круг(хотя он должен сделать 2). Потом когда нажимаю кнопку 'Далее', он должен выполнить второй круг, но для этого надо как-то передать в цикл i++, а то он тоже самое выведет.
все это не представляет больших проблем по моему мнению-подумайте введите еще переменную внутри функции go-цикл сделайте вручную а не по for
я спать ложусь-если не получится завтра сделаем
Ответить с цитированием
  #27 (permalink)  
Старый 01.12.2012, 15:32
Профессор
Отправить личное сообщение для Dimaz Посмотреть профиль Найти все сообщения от Dimaz
 
Регистрация: 25.12.2009
Сообщений: 222

Всем доброго дня. Доработал я немножко свой скрипт. Подумал, поразмышлял и пришел к выводу, что функция в методе $.post будет только принимать данные с сервера и проверять их. А вот обрабатывать их и выводить результат будет функция go. Просто на мой взгляд нет логики в таком бадминтоне. Зачем по десять раз перебрасываться параметрами? Вот модифицированный код:
function go(data) {
alert("Ok!");
var row = '';
row = '<form>';
for (var i in data) {
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" name="id_answer'+i+'" value="' + i2 + '">' + ss[i2] + '<Br>';
}
break;
}
row += '<button onclick="go(data); return false;">Далее</button></form>';
$('#feeds').html(row);
}

$(document).ready(function(){
$('form input:image').click(function() {
var drink = $('input[name=drink]:checked').val();
$.post('save_data.php', {drink: drink},
function(data){
if(data) {
var fieldsCount = data.length;
if(fieldsCount) {
go(data);
}
}
  }, "json"); 
return false;
});
});

Осталось разобраться с вызовом этой функции по кнопке.
Ответить с цитированием
  #28 (permalink)  
Старый 01.12.2012, 16:20
Профессор
Отправить личное сообщение для Dimaz Посмотреть профиль Найти все сообщения от Dimaz
 
Регистрация: 25.12.2009
Сообщений: 222

Вот куда сохранить данные с сервера, чтобы с ними потом можно было работать дальше?
Ответить с цитированием
  #29 (permalink)  
Старый 01.12.2012, 16:35
Аватар для vadim5june
Студент
Отправить личное сообщение для vadim5june Посмотреть профиль Найти все сообщения от vadim5june
 
Регистрация: 30.04.2012
Сообщений: 1,113

Сообщение от Dimaz Посмотреть сообщение
Вот куда сохранить данные с сервера, чтобы с ними потом можно было работать дальше?
для начала заведите глобальную переменную для отладки
var Data;
в обработчике напишите
function(data){Data=data;

и используйте эту Data где нужно
--------------------
потом из глобальных надо будет убрать-спрятать внутри гдето
Ответить с цитированием
  #30 (permalink)  
Старый 01.12.2012, 17:11
Профессор
Отправить личное сообщение для Dimaz Посмотреть профиль Найти все сообщения от Dimaz
 
Регистрация: 25.12.2009
Сообщений: 222

Так имеете в виду:
row += '<button onclick="function(data){Data=data;go(data); return false;}">Далее</button></form>';

А глобальную переменную куда нужно вписать?
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Скрипт не работает при заходе на данную страницу, но работает при рефреше страницы foker jQuery 0 26.11.2012 12:27
Как при быстром многократном клике по кнопке обрабатывать только первый клик battrack jQuery 3 22.03.2012 10:47
НЕ работает функция length Golovastik Серверные языки и технологии 4 14.02.2011 17:31
Не работает функция инфоокна tomAlba Общие вопросы Javascript 0 30.01.2011 00:54
Не работает eval в IE ..::Silence::.. Общие вопросы Javascript 8 25.03.2009 13:16