Javascript.RU

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

Сообщение от Dimaz
Без return false будет страница перезагружаться, браузер же воспринимает нажатие по кнопке как передачу данных формы.
тогда поменяйте местами onclick="go(data);return false;"
Ответить с цитированием
  #12 (permalink)  
Старый 30.11.2012, 20:45
Аватар для vadim5june
Студент
Отправить личное сообщение для vadim5june Посмотреть профиль Найти все сообщения от vadim5june
 
Регистрация: 30.04.2012
Сообщений: 1,113

попробуйте так
if(fieldsCount) {
start(data);
var f1=document.createElement('form');
var b1=document.createElement('button');
b1.onclick=function(){start(this.data);return false};
b1.innerHTML='Далее';
b1.data=data;
f1.appendChild(b1);
document.body.appendChild(f1);
}
Ответить с цитированием
  #13 (permalink)  
Старый 30.11.2012, 20:50
Профессор
Отправить личное сообщение для Dimaz Посмотреть профиль Найти все сообщения от Dimaz
 
Регистрация: 25.12.2009
Сообщений: 222

Написал так:
row += '<button onclick="go(data); return false;">Далее</button></form>';

Страница стала перезагружаться.
Пишу так:
row += '<button onclick="return false; go(data);">Далее</button></form>';

Страница не перезагружается.
Попробовал так:
row += '<button onclick="return false; alert('hi!')">Далее</button></form>';

Страница перезагружается и выводятся json данные с сервера
А если так:
row += '<button onclick="alert('hi!'); return false;">Далее</button></form>';
Происходит тоже самое. Перезагружается страница и выводятся json данные с сервера.
Ответить с цитированием
  #14 (permalink)  
Старый 30.11.2012, 21:05
Аватар для vadim5june
Студент
Отправить личное сообщение для vadim5june Посмотреть профиль Найти все сообщения от vadim5june
 
Регистрация: 30.04.2012
Сообщений: 1,113

Сообщение от Dimaz
Написал так:
row += '<button onclick="go(data); return false;">Далее</button></form>';

Страница стала перезагружаться.
Это потомучто go(data) не срабатывает
alert неприменяйте
Ответить с цитированием
  #15 (permalink)  
Старый 30.11.2012, 21:33
Профессор
Отправить личное сообщение для Dimaz Посмотреть профиль Найти все сообщения от Dimaz
 
Регистрация: 25.12.2009
Сообщений: 222

Функция не работает вообще, даже по первой кнопке, которая передает данные на сервер:
function go(data) {
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>';
}
break;
}
}

$(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>';
go(data);
row += '<button onclick="go(data); return false;">Далее</button></form>';
$('#feeds').html(row);
}
}
  }, "json"); 
return false;
});
});

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

Сообщение от Dimaz
Что я не так делаю?
У Вас row внутри функции go не определена
var row='';//надо добавить

Последний раз редактировалось vadim5june, 30.11.2012 в 21:50.
Ответить с цитированием
  #17 (permalink)  
Старый 30.11.2012, 22:02
Профессор
Отправить личное сообщение для Dimaz Посмотреть профиль Найти все сообщения от Dimaz
 
Регистрация: 25.12.2009
Сообщений: 222

Сделал так, но все равно не работает:
function go(data) {
alert("Ok!");
var row ="";
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;
}
$('#feeds').html(row);
}

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

Сообщение от Dimaz
А можно ее снова не определять, а как то передать в функцию. Она же уже определена в другой функции
можно тогда надо писать
function go(data,row) {
ну и обращаться также
-------------
alert("Ok!");
не срабатывает?
Ответить с цитированием
  #19 (permalink)  
Старый 30.11.2012, 22:17
Профессор
Отправить личное сообщение для Dimaz Посмотреть профиль Найти все сообщения от Dimaz
 
Регистрация: 25.12.2009
Сообщений: 222

Сообщение от vadim5june Посмотреть сообщение
можно тогда надо писать
function go(data,row) {
ну и обращаться также
-------------
alert("Ok!");
не срабатывает?
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>';
}
break;
}
}

$(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>';
go(data, row);
row += '<button onclick="go(data); return false;">Далее</button></form>';
$('#feeds').html(row);
}
}
  }, "json"); 
return false;
});
});
Ответить с цитированием
  #20 (permalink)  
Старый 30.11.2012, 22:33
Профессор
Отправить личное сообщение для Dimaz Посмотреть профиль Найти все сообщения от Dimaz
 
Регистрация: 25.12.2009
Сообщений: 222

Вообщем надо как-то сделать, чтобы функция go принимала data, а возвращала измененную row. Но как?
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Скрипт не работает при заходе на данную страницу, но работает при рефреше страницы 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