showModalDialog
Релиб
Форумы       Участники    Календарь    Кто он-лайн?
Добро пожаловать, гость ( Вход | Регистрация )
        



showModalDialog Expand / Collapse
Автор
Сообщение
12.09.2006 11:31


Supreme Being

Supreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme Being

участник
Last Login: 27.06.2008 14:10
Сообщ.: 275, Visits: 865
Прочитал несколько мануалов, но так и не разобрался. Может поможете?
Дело вот в чем:
У меня на странице есть текстовое поле, а рядом ссылка. При нажатии на эту ссылку должно открыться окно, в котором из БД выведены в таблицу значения. Так вот, при нажатии на строку, выведенное окно должно закрыться, а в тестовом поле должно записаться значение из той строки, на которую нажали.

Я так понял, что это делается при помощи модальных окон showModalDialog и returnValue, но точного примера как это сделать я не нашел, есть только пример где это делается через submit,а мне это не подходит.

Если не сложно, дайте, пожалуйста, примерчик.
Сообщ. #904233
12.09.2006 13:13
Supreme Being

Supreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme Being

участник
Last Login: 29.05.2008 20:04
Сообщ.: 269, Visits: 2 381
Только вначале не открывай в IE, не работает если открывать просто страницу вида *.htm/ *.html Лучше тогда через сервер если хочешь через IE.

<html>
<script language=JavaScript>
 
var ModalDialogWindow;
var ModalDialogInterval;
var ModalDialog = new Object;

ModalDialog.value = '';
ModalDialog.eventhandler = '';
 

function ModalDialogMaintainFocus()
{
  try
  {
    if (ModalDialogWindow.closed)
     {
        window.clearInterval(ModalDialogInterval);
        eval(ModalDialog.eventhandler);      
        return;
     }
    ModalDialogWindow.focus();
  }
  catch (everything) {   }
}
       
 function ModalDialogRemoveWatch()
 {
    ModalDialog.value = '';
    ModalDialog.eventhandler = '';
 }
       
 function ModalDialogShow(Title,BodyText,Buttons,EventHandler,args)
 {

   ModalDialogRemoveWatch();
   ModalDialog.eventhandler = EventHandler; 

   ModalDialogWindow=window.open("","",args);
   ModalDialogWindow.document.open();
   ModalDialogWindow.document.write('<html>');
   ModalDialogWindow.document.write('<head>');
   ModalDialogWindow.document.write('<title>' + Title + '</title>');
   ModalDialogWindow.document.write('<script' + ' language=JavaScript>');
   ModalDialogWindow.document.write('function CloseForm(Response) ');
   ModalDialogWindow.document.write('{ ');
   ModalDialogWindow.document.write(' window.opener.ModalDialog.value = Response; ');
   ModalDialogWindow.document.write(' window.close(); ');
   ModalDialogWindow.document.write('} ');

   ModalDialogWindow.document.write('</script' + '>');       
   ModalDialogWindow.document.write('</head>');  
   ModalDialogWindow.document.write('<body onblur="window.focus();">');
   ModalDialogWindow.document.write('<table border=0 width="95%" align=center cellspacing=0 cellpadding=2>');
   ModalDialogWindow.document.write('<tr><td align=left>' + BodyText + '</td></tr>');
   ModalDialogWindow.document.write('<tr><td align=left><br></td></tr>');
   ModalDialogWindow.document.write('<tr><td align=center>' + Buttons + '</td></tr>');
   ModalDialogWindow.document.write('</body>');
   ModalDialogWindow.document.write('</html>');
   ModalDialogWindow.document.close();
   ModalDialogWindow.focus();
   ModalDialogInterval = window.setInterval("ModalDialogMaintainFocus()",5);

 }

</script>

<script language=JavaScript>


  function YesNoCancel(BodyText,EventHandler)
  {
     var Buttons='';
     Buttons = '<a href=javascript:CloseForm("Yes");>Yes</a>  ';
     Buttons += '<a href=javascript:CloseForm("No");>No</a>  ';
     Buttons += '<a href=javascript:CloseForm("Cancel");>Cancel</a>  ';

Buttons += '<a href=javascript:ModalDialogShow();>Help</a>  ';

var args='width=350,height=125,left=325,top=300,toolbar=0,';
    args+='location=0,status=0,menubar=0,scrollbars=1,resizable=0';

     ModalDialogShow("Dialog",BodyText,Buttons,EventHandler,args);
  }

 
 function YesNoCancelReturnMethod()
 {
   document.getElementById('modalreturn1').value =  ModalDialog.value;
if (ModalDialog.value=="Yes") {
alert("gggg");
 ModalDialogRemoveWatch();
Regis();
}
else {
   ModalDialogRemoveWatch();
}

 }

function Regis() {
var args='width=400,height=305,left=325,top=300,toolbar=0,';
    args+='location=0,status=0,menubar=0,scrollbars=1,resizable=0';

var Buttons='';
     Buttons = '<a href=javascript:CloseForm("No");>No</a>  ';
     Buttons = '<a href=javascript:CloseForm("Yes");>Yes</a>  ';
     Buttons = '<a href=javascript:CloseForm("No");>No</a>  ';

ModalDialogShow("Dialog","Very good!!!",Buttons,'Regis()',args);
}

</script>
 
<BODY >
<br><br><br>
<center>
 
<td align=left><a href="javascript:YesNoCancel('Yes, no, or cancel me','YesNoCancelReturnMethod()');">Show Modal #1</a>  
          1. <input type=text id=modalreturn1 name=modalreturn1 value=''></td>
</center>
</BODY>
</HTML>

----------------------------------
Я безработный...
Возьмите меня на работу. =)

Сообщ. #904243
12.09.2006 14:29


Supreme Being

Supreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme Being

участник
Last Login: 27.06.2008 14:10
Сообщ.: 275, Visits: 865
Это немного не то. Здесь содержимое окна строится javascript-ом, а у меня будет выводится таблица через ASP.
Сообщ. #904249
« пред. тема | след. тема »


Эту тему читают Expand / Collapse
Посетители: 0 (0 гостей, 0 участников, 0 скрыт.участников)
Сейчас нет участников, просматривающих тему.
Модераторы: Alexey, boombastik, bazile, pl

Время GMT +3:00, Сейчас 4:50