Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Почему в Chrome не работает передача значения между окнами? / 18 сообщений из 18, страница 1 из 1
30.11.2011, 13:22:06
    #37551861
Dika!
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Почему в Chrome не работает передача значения между окнами?
разобрала пример с popup calendar на javascript, в IE работает все, попробовала в Chrome, модальное окно появляется, делаю выбор даты (дата выбирается, проверила alert), но в другое окно не передается значение. Почему?
Вот ссылка на пример Popup календарь на ASP.NET странице
...
Рейтинг: 0 / 0
30.11.2011, 13:27:13
    #37551877
МСУ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Почему в Chrome не работает передача значения между окнами?
window.returnValue чему равен?
...
Рейтинг: 0 / 0
30.11.2011, 13:33:18
    #37551896
Dika!
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Почему в Chrome не работает передача значения между окнами?
МСУ, передаю дату строкой вида "30.11.2011"
...
Рейтинг: 0 / 0
30.11.2011, 13:36:54
    #37551909
Dika!
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Почему в Chrome не работает передача значения между окнами?
Dika!МСУ, передаю дату строкой вида "30.11.2011"
Код: plaintext
1.
2.
3.
4.
5.
6.
<script type="text/javascript" language="javascript">
function CloseW(dateR){
window.returnValue=dateR
alert(window.returnValue)
window.close()
}
</script> 
...
Рейтинг: 0 / 0
30.11.2011, 13:57:02
    #37551978
МСУ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Почему в Chrome не работает передача значения между окнами?
Ну, а как считываете результат в исходном окне?
...
Рейтинг: 0 / 0
30.11.2011, 14:01:44
    #37551989
Dika!
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Почему в Chrome не работает передача значения между окнами?
МСУ, вот функция, которая принимает дату
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
<script language="javascript"type="text/javascript" >
 function OpenD(tb_object_name){
  var r=window.showModalDialog("Calendar.aspx",null,
	"dialogWidth:100px;menubar:0;dialogHeight:250px");
  if (r!=null && r!=""){
     // document.all(tb_object_name).disabled=false;
      document.all(tb_object_name).value=r; 
      }
}
</script>
компоненты, которые принимают дату
Код: plaintext
1.
2.
3.
<input id="tb_date_start" runat="server" type="text"  />
                   
                    <img alt="Календарь" src="images/Calendar.png" runat="server" onclick="OpenD('tb_date_start')" id="IMG1"/>
                  
...
Рейтинг: 0 / 0
30.11.2011, 14:11:21
    #37552017
Starlex
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Почему в Chrome не работает передача значения между окнами?
Dika!,

Do note that Firefox and Chrome (for instance) do not appear to have these limitations, and appear to treat ModalDialogs more like regular windows.

У вас в хроме это окно работает как обычное попап окно, т.е. после window.showModalDialog выполнение кода продолжается.
...
Рейтинг: 0 / 0
30.11.2011, 14:25:58
    #37552063
Dika!
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Почему в Chrome не работает передача значения между окнами?
Starlex, т.е. окно с календарем не возвращает значение?
...
Рейтинг: 0 / 0
30.11.2011, 14:44:08
    #37552116
Starlex
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Почему в Chrome не работает передача значения между окнами?
Dika!,

Вот что-то сделал из кусков вашего кода, нужно только как-то задать tb_object_name в исходном окне, чтобы попап окно без неё обошлось.

Код: plaintext
1.
2.
3.
4.
5.
<script type="text/javascript" language="javascript">
function CloseW(dateR){
window.opener.document.all(tb_object_name).value=dateR
window.close()
}
</script> 
...
Рейтинг: 0 / 0
30.11.2011, 14:44:55
    #37552120
Starlex
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Почему в Chrome не работает передача значения между окнами?
Dika!Starlex, т.е. окно с календарем не возвращает значение?

Нет, не возвращает.
...
Рейтинг: 0 / 0
30.11.2011, 15:00:32
    #37552161
Dika!
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Почему в Chrome не работает передача значения между окнами?
Starlex,
нашла, как в FF сделать модальное окно, в Хроме тоже вроде работает, только не пойму, как значения возвращать
Код: plaintext
var ref=window.open("calendar.html", "Calendar","modal=yes");
ref - это ссылка на окно.
...
Рейтинг: 0 / 0
30.11.2011, 17:18:21
    #37552531
Starlex
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Почему в Chrome не работает передача значения между окнами?
Dika!,

я же написал, через window.opener, это исходное окно, там доступны все ваши функции. Перед закрытием попапа вызываете функцию исходного окна, куда посылаете значение. Можно присвоить глобальной переменной.
...
Рейтинг: 0 / 0
01.12.2011, 14:43:39
    #37554165
Dika!
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Почему в Chrome не работает передача значения между окнами?
Starlex,
передала код.
вызов модального окна:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
   <script language="javascript"type="text/javascript" >
 function OpenD(tb_object_name){
    var appOptions=new Array( 2 );
    appOptions[ 0 ]=window.self;   
    appOptions[ 1 ]=tb_object_name;
    alert("appOptions[0]="+appOptions[ 0 ]+"appOptions[1]="+appOptions[ 1 ]);
    
  var r=window.showModalDialog("Calendar.aspx",appOptions,
	"dialogWidth:250px;menubar:0;status:0;dialogHeight:250px");
	
  if (r!=null && r!=""){
  alert(r);
    
     document.all(tb_object_name).value=r; 
      }
}
</script>
отправка значения главному окну:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
 <script type="text/javascript" language="javascript">
function CloseW(dateR){

var appOptions=new Array( 2 );
appOptions=window.dialogArguments;

alert("window.opener="+window.opener+"appOptions[0]="+appOptions[ 0 ]);
//window.opener.document.all[appOptions[ 1 ]].value=dateR;
appOptions[ 0 ].document.all[appOptions[ 1 ]].value=dateR;
window.close();
}
</script> 
window.opener пишет undefined. но в Chrome все равно не работает. Не могу понять, в чем разница модального окна и popup окна?
функция alert не работает в "модальном" окне.
...
Рейтинг: 0 / 0
01.12.2011, 15:47:24
    #37554369
МСУ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Почему в Chrome не работает передача значения между окнами?
1. Не используйте document.all
2. Приложите тестовый проект
...
Рейтинг: 0 / 0
01.12.2011, 16:23:06
    #37554459
Dika!
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Почему в Chrome не работает передача значения между окнами?
МСУ, а что использовать вместо document? Добавила свой проект, если это Вы имели ввиду. Там идет подключение к базе, но я эту часть закоментировала
...
Рейтинг: 0 / 0
01.12.2011, 16:35:30
    #37554498
МСУ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Почему в Chrome не работает передача значения между окнами?
Бог ты мой, и эти все грабли из-за календарика?
Чё-та я проморгал сабжевую ссылку
Смотрите сюда: http://www.asp.net/ajaxLibrary/AjaxControlToolkitSampleSite/Calendar/Calendar.aspx
...
Рейтинг: 0 / 0
02.12.2011, 11:26:19
    #37555629
Dika!
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Почему в Chrome не работает передача значения между окнами?
МСУ, хотелось бы на JavaScript написать
...
Рейтинг: 0 / 0
02.12.2011, 14:04:53
    #37556055
iConst
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Почему в Chrome не работает передача значения между окнами?
Dika!.... хотелось бы на JavaScript написать Например ? :)
...
Рейтинг: 0 / 0
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Почему в Chrome не работает передача значения между окнами? / 18 сообщений из 18, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]