Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> ajax нехочет передавать переменную с формой 
V
    Опции темы
studentigor
Дата 20.10.2010, 10:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 397
Регистрация: 14.11.2008

Репутация: нет
Всего: нет



Всем привет!
Вкратце опишу весь скрипт:
Есть такая функция, которая динамически формирует форму для анкеты.
Далие идет функция, которая, при нажатии на кнопку просмотр, формирует сам html анкеты, и сохранить - тоже формирует хтмл анкеты, но ещё и передает в функцию которая делает аякс передачу на сервер.
Вот функция
Код

$(function()
{
....
function marfu(dan){
        category = ''slovo;
        alert(dan);
        $.ajax({data:'jsonData=' + $.toJSON({"param":"saveform", "katego":category}),
        success: function(res) {
            //dan = explode ('~',res);
            //col = dan[0];
            //img = $.evalJSON(dan[1]);
            //text = $.evalJSON(dan[2]);
        },
        error: function(xhr) 
        {
            $.jGrowl('<p></p>Ошибка обращения к серверу..',{theme:'error', header:'ОШИБКА',sticky:false, life:25000});            
        }                         
    });
    };
...
var t_out = 80000000;
$.ajaxSetup({url:'pdata9.php', type:'POST', timeout: t_out});
....
});

так вот, dan в функцию попадает(хранится хтмл код формы), но если я передаю dan, то аякс почемуто не срабатывает(Я пишу в файл полученные данные). а если передаю category(обычное слово) - все работает на ура.
В чем тут прикол?
Подскажите пожалуйста
PM MAIL   Вверх
ksnk
Дата 20.10.2010, 11:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прохожий
****


Профиль
Группа: Комодератор
Сообщений: 6855
Регистрация: 13.4.2007
Где: СПб

Репутация: 84
Всего: 386



В каком  месте в приведенном тексте этот самый dan куда-то передается?


--------------------
Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! user posted image
PM MAIL WWW Skype   Вверх
studentigor
Дата 20.10.2010, 11:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 397
Регистрация: 14.11.2008

Репутация: нет
Всего: нет



create_form - если нажимаю просмотр - формируется хтмл, и выводится в всплывающем окне,
а жму "сохранить" - тоже формируется хтмл и передается в marfu() - для отправки аяксом.

 
Код

function create_form(id_elem){
...//тут иде формирование самого dan
alert(dan);//выводится что нужно
marfu(dan);
}

function marfu(dan){
        category = ''slovo;
        alert(dan);//тут тоже выводится что нужно
//вот это передается
        $.ajax({data:'jsonData=' + $.toJSON({"param":"saveform", "katego":category}),
//вот это непередается
        $.ajax({data:'jsonData=' + $.toJSON({"param":"saveform", "katego":dan}),
        success: function(res) {
        
        },
...

может там много текста - и поэтому не передается, или ненравится что там хтмл.
Я вобще немогу поять почему такая проблемма возникла.

PM MAIL   Вверх
ksnk
Дата 20.10.2010, 11:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прохожий
****


Профиль
Группа: Комодератор
Сообщений: 6855
Регистрация: 13.4.2007
Где: СПб

Репутация: 84
Всего: 386



Длина dan больше 256 байт? Тогда надо пользоваться методом POST вместо GET.

Что за функция toJSON? Чем она лучше встроенного serialize'а?


--------------------
Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! user posted image
PM MAIL WWW Skype   Вверх
studentigor
Дата 20.10.2010, 12:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 397
Регистрация: 14.11.2008

Репутация: нет
Всего: нет



Цитата

Что за функция toJSON?

предает данные в виде массива json. Её и разберать в РНР легко(привык).
Я вот тут подумал, а что если я передам в аяксом, лишь массив"type_polya", и массив"label_value"- я думаю дожно сработать.
Цитата

Длина dan больше 256 байт? Тогда надо пользоваться методом POST вместо GET.

А я когдато передавал хтмл таблицу, правда не туда, а получал с РНР. Все нормально было, там размер таблицы был побольше, чем форма которую я хочу передать аяксом
PM MAIL   Вверх
studentigor
Дата 20.10.2010, 12:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 397
Регистрация: 14.11.2008

Репутация: нет
Всего: нет



блин, вобще ничего не пойму!
Код

...
arxy='<table>';
for(...){
if(type_polya[1] == 'text_d'){
                        arxy +='<tr><td>'+abou[1]+'</td><td><input type="text" name="text'+i+'" id="text'+i+'" value="" /></td></tr>';
                    }
                    else if(type_polya[1] == 'num_d'){
                        arxy +='<tr><td>'+abou[1]+'</td><td><input type="text" name="num'+i+'" id="num'+i+'" value="" /></td></tr>';
                    }
}
arxy+='</table>';
    
kk = '<tr>'+
                    '<td>Название</td><td colspan="2"><input type="text" name="name_ank" id="name_ank" value="" size="60" /></td>'+
                    '<td rowspan="2"><input type="button" name="viev" id="viev" value="Просмотр" /></td>'+
                    '<td rowspan="2"><input type="button" name="save" id="save" value="Сохранить"  /></td>'+
                    '<td rowspan="2"><input type="button" name="cansel" id="cansel" value="Отмена" /></td>'+
                '</tr>';                

//передаю так
marfu(kk);//и аякс срабатывает, все нормально
// а передаю arxy
marfu(arxy);//аякс уже не передает
...

хотя я по размеру kk сделал намного больше чем arxy.
значит тут загвоздка не в розмере.
кстати никакие данные полученные в результате работы скрипта не передаются(arxy, масивы с данными, вобще ничего), а передаются лишь те которые заданы явно (ну как "kk")
PM MAIL   Вверх
ksnk
Дата 20.10.2010, 12:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прохожий
****


Профиль
Группа: Комодератор
Сообщений: 6855
Регистрация: 13.4.2007
Где: СПб

Репутация: 84
Всего: 386



Цитата(studentigor @  20.10.2010,  12:07 Найти цитируемый пост)
Что за функция toJSON?

предает данные в виде массива json.

Да, нашел ее в исходниках. Я почему-то думал, что jQuery не расширяет прототипы стандартных объектов и это принипиальная позиция разработчиков... В документации этого тоже нет. забавно smile

Я имел ввиду вот это. Так не будет ограничений на длину.
Код

$.ajax({
   method:post,
   data:'jsonData='+encodeURIComponent($toJSON(...))
})

а с encodeURIComponent еще и не будет глюков со странными символами, которые не кодируются toJSON'ом


--------------------
Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! user posted image
PM MAIL WWW Skype   Вверх
studentigor
Дата 20.10.2010, 13:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 397
Регистрация: 14.11.2008

Репутация: нет
Всего: нет



Спасибо мен, помогло, только маленькая поправочка
Код

$.ajax({data:'jsonData='+encodeURIComponent($toJSON(...))//так работает , а метод указывается нижу в ajaxsetup
...
var t_out = 80000000;
$.ajaxSetup({url:'pdata9.php', type:'POST', timeout: t_out});
})

 smile 

Это сообщение отредактировал(а) studentigor - 20.10.2010, 13:41
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию.
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0744 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.