Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 28.02.2011, 08:13
Новичок на форуме
Отправить личное сообщение для Vitus Посмотреть профиль Найти все сообщения от Vitus
 
Регистрация: 28.02.2011
Сообщений: 2

Проблема с Dialog. Блокировка элементов формы
Здравствуйте. Столкнулся с такой проблемой. По нажатию на текст или картинку (не важно) вывожу на экран (модально) диалог (назовем его, Диалог1), содержимое которого загружается из html-файла. На форме присутствует другой элемент, по нажатию на который поверх этого диалога выводится другой (тоже модально) диалог (Диалог2). Суть проблемы: после закрытия Диалога2 блокировка с Диалога1 вроде бы как и снимается, но вот элементы формы недоступны, так же нет возможности выделить текст, находящийся в Диалоге1. Как это можно пофиксить или обойти? Диалоги именно должны быть модальными.

Ниже я собрал простенький пример.
Головной файл (index.html)
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ru" lang="ru">
<head>
	<title>Тест</title>
	<meta http-equiv="content-type" content="text/html;charset=utf-8" />
	<script type="text/javascript" src="jquery.js"></script>
	<script type="text/javascript" src="dev/ui/ui.core.js"></script>
	<script type="text/javascript" src="dev/ui/ui.draggable.js"></script>
	<script type="text/javascript" src="dev/ui/ui.resizable.js"></script>
	<script type="text/javascript" src="dev/ui/ui.dialog.js"></script>
	<script type="text/javascript" src="dev/ui/effects.core.js"></script>
	<script type="text/javascript" src="dev/ui/effects.highlight.js"></script>
	<script type="text/javascript" src="dev/external/bgiframe/jquery.bgiframe.js"></script>

	<script type="text/javascript" src="form.js"></script>
	
	<link type="text/css" href="stylesheet.css" rel="stylesheet" />
</head>
<body>
<div id="formDialog" title="Первый диалог">
</div>

<div id="formDialog2" title="Второй диалог">
</div>


<a href='' onClick='showDialog(); return false;'>Показать окно</a>
</body>
</html>


Текст скрипта (form.js):
function showDialog() 
{
	$.ajax({
		url: "dialog.html",
		cache: true,
		asyn: false,
		success: function(html){
			$("#formDialog").html(html);
			$('#formDialog').dialog('open');
		}
	})    
}
function showDialog2() 
{
	$.ajax({
		url: "dialog2.html",
		cache: true,
		asyn: false,
		success: function(html){
			$("#formDialog2").html(html);
			$('#formDialog2').dialog('open');
		}
	})    
}
$(function() {
  	$("#formDialog").dialog({
		bgiframe: true,
		autoOpen: false,
        	width: 300,
	        height: 300,
		modal: true,
	        resizable: false,
		buttons: {'Закрыть' : function() {
				$(this).dialog('close');
    }}}); 
  	$("#formDialog2").dialog({
		bgiframe: true,
		autoOpen: false,
        	width: 300,
	        height: 300,
		modal: true,
	        resizable: false,
		buttons: {'Закрыть' : function() {
				$(this).dialog('close');
				$(".ui-widget-overlay").css('zIndex', $(this).parent('.ui-dialog').css('zIndex')-3);
    }}});   
});


Диалог1 (dialog.html):
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ru" lang="ru">
<head>
	<title></title>
	<meta http-equiv="content-type" content="text/html;charset=utf-8" />
</head>
<body>
	<form>
		<TABLE>
        <TR>
            <TD><label for="fio">Имя</label></TD>
            <TD><input type="text" name="fio" id="fio" style="width:100%" value="" /></TD>
        </TR>       
	<TR>
            <TD><label for="email">E-mail</label></TD>
            <TD><input type="text" name="email" id="email" value="" style="width:100%" /></TD>
        </TR>
	<TR>
            <TD></TD>
            <TD><a href='' onClick='showDialog2(); return false;'>Нажми меня!</a></TD>
        </TR>
        </TABLE>
	</form>
</body>
</html>



Диалог2 (dialog2.html):
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ru" lang="ru">
<head>
	<title></title>
	<meta http-equiv="content-type" content="text/html;charset=utf-8" />
</head>
<body>
А здесь просто сообщение
</body>
</html>
Ответить с цитированием
  #2 (permalink)  
Старый 28.02.2011, 10:17
Новичок на форуме
Отправить личное сообщение для Vitus Посмотреть профиль Найти все сообщения от Vitus
 
Регистрация: 28.02.2011
Сообщений: 2

Проблема решена! Видимо это был баг от производителя. Взял новую версию UI и все заработало!
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проблема с отправкой multipart формы tmlder Events/DOM/Window 0 14.10.2010 11:04
Проблема с обработкой формы в IE Check'Yr'Head Общие вопросы Javascript 1 15.12.2009 12:20
блокировка элементов формы по id kraiter Элементы интерфейса 0 07.11.2009 10:57
Не соответствие Size и Length у элементов формы. Phoenix Общие вопросы Javascript 3 26.09.2007 19:59