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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> jsHttpRequest проблемы с дочерним окном 
:(
    Опции темы
ArsNov
Дата 5.9.2008, 15:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



jsHttpRequest не передаются данные из дочернего окна

Есть главное окно, в нем получаем результат дочернего окна:
Код

added=window.showModalDialog("test.html", "wind1", "width=200,height=100,resizable=no,scrollbars=no,menubar=no");
    
        if (added!=null)
        {
                var value=new Object();
                value["data"]=new Array();
                value["data"]["first"]=added;    
                doLoad(value);    //посылаем на сервер
        }

В дочернем окне test.html генерируются данные в качестве результата:

Код

//...
var value=new Array();
value["flag"]="true";
value["0"]='1';
value["1"]='2';
window.returnValue=value;

close();



После закрытия дочернего окна эти данные попадают в added, передаю на сервер
и получаю в $_REQUEST следующее:
[q] => 
  [data] => 
    [first] => 
Почему-то  не передались данные в first, почему? В js этот first не пустой
Причем если заменить строку value["data"]["first"]=added; на value["data"]["first"]=added["flag"]; то это значение передается корректно. Т.е. при передаче данных исчезает массив полученный из дочернего окна.
Помогите найти ошибку.
Спасибо
PM MAIL ICQ   Вверх
Nigel
Дата 6.9.2008, 14:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


познаю мир
**


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

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



Можете полностью весь код привести?
PM MAIL   Вверх
ArsNov
Дата 8.9.2008, 14:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Увы, не могу, он очень большой. Проблема именно в дочернем окне, результат, который им возвращается в отладке виден  нормально, но когда я передаю его в httpreq на сервер то эти данные исчезают. Другие данные уходят нормально  smile 
PM MAIL ICQ   Вверх
ArsNov
Дата 8.9.2008, 15:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Попробовал показать то что есть:
Вот код серверной части в отрывках:

Эта функция срабатывает при нажатии на кнопку:


Код

function show_dialog_add(link)
{
    var added=new Object();
    var added=window.showModalDialog(event.srcElement.parentElement.parentElement.add_module, "wind1", "width=200,height=100,resizable=no,scrollbars=no,menubar=no");

                var value=new Object();
                value["test"]="test";
                value["data"]= added;
    
                doLoad(value);
}



Вот код которые выполняет работу с jsHttpRequest
Код

function doLoad(value) 
    {
        // Create new JsHttpRequest object.
        var req = new JsHttpRequest();
        // Изменение сосотояния ответа.
        req.onreadystatechange = function() 
            {
                created_elements=new Array();   //Обнуляем массив старых элементов. Теперь в этом массиве буду храниться новые элементы
                
                if (req.readyState == 4)    //Пришел ответ
               {
                //.......тут обработка ответа
              }
     
        // Отправка запроса
        req.open(null, 'indexs.php', true);
        req.send( { q: value } );
    }




Вот код дочернего окна:


Код

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />
<meta http-equiv="Pragma" content="no-cache">
<meta http-equiv="expires" content="0">


</head>


<div id="test">fgfg</div>
<script language="JavaScript">

function closeIt() {

    var value=new Array();
    value["q"]="asdasd";
    value["q2"]="asdasd";
    window.returnValue=value;

    alert('Данные успешно сохранены');
    close();
}

</script>
<center><form>
<input type=button value="Добавить запись" onClick="closeIt()">
<input type=button value="Отменить" onClick="window.close();"></form>


</center>
</html>


._hash2query очищает мой массив
В строке 
if(!this._hash2query(_7,null,_8,_9)){
return;
}
Почему?

Это сообщение отредактировал(а) ArsNov - 8.9.2008, 16:08
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Применение библиотек | Следующая тема »


 




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


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

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