Перейти к публикации

Рекомендованные сообщения

Наткнулся на проблему с хешем всплывающих окон. Этому наверняка есть простое решение типа переменной которой сбрасывается состояние окна, но я не нашел. Вот мой код и что я хочу реализовать:



    $('#repplus').dialog({

autoOpen: false,

show: 'fade',

hide: 'fade',

width: 560,

height: 500,

dialogClass: 'modalfixed',

buttons: {

"Закрыть" : function() { 

$(this).dialog("close");

}, 

"Отправить": function() {

document.getElementById("addrepplusframe").contentWindow.document.getElementById("addrepform").submit();

$(this).dialog({

buttons: {

"Закрыть" : function() { 

$(this).dialog("close");

},

"Вернуться назад" : function() { 

$(this).dialog("close");

$('#rep').dialog('open');

}

}

});

}

}

});




    $('#rep').dialog({

autoOpen: false,

show: 'fade',

hide: 'fade',

width: 560,

height: 500,

dialogClass: 'modalfixed',

buttons: {

"Закрыть" : function() { 

$(this).dialog("close");

}, 

"Изменить репутацию": function() {

$(this).dialog("close");

$('#repplus').dialog('open');

}

}

});


В общем окно открывает iframe, и когда пользователь например что-то не так ввел и получил ошибку, после того как вернуться назад и снова пробовать заполнить форму появляется та же страница с ошибкой, пока не перезагрузить страницу. Пробовал вместо кнопок на блоке поставить кнопку в самом фрейме типа javascript: history.go (-1), но это почему-то сбрасывает весь скрипт, да и хочется кнопки на самом блоке чтобы поддерживать одинаковый дизайн.

Ссылка на сообщение
Поделиться на других сайтах

Отформатируйте код, чтобы он стал читаемым и покажите больше примеров, так как я, например, не понял в чём у Вас ошибка/проблема.

Ссылка на сообщение
Поделиться на других сайтах

Отформатируйте код, чтобы он стал читаемым и покажите больше примеров, так как я, например, не понял в чём у Вас ошибка/проблема.


$(this).dialog("close");

$('#repplus').dialog('open');

Смотрите на код. Проблема в том что когда окно закрывается (dialog ("close")) оно сохраняет свое состояние. Таким образом, если пользователь не правильно ввел информацию в окне и получил ошибку, открывая окно еще раз он не может ввести информацию еще раз так как открывается сохраненное окно с ошибкой. Приходится перезагружать страницу чтобы состояние окна очистилося. Надеюсь теперь понятно)

Изменено пользователем nizhnyk
Ссылка на сообщение
Поделиться на других сайтах

Покажите пример на Вашем сайте :)

Ссылка на сообщение
Поделиться на других сайтах

Я сейчас делаю сайт на локалке. Уже все получилось но теперь подскажите как код сжать в формат как в файле dle_js.js, я хочу скрипт туда всунуть так как он будет отображаться почти на каждой странице, да и получилось около 80 строк кода хочу все аккуратно сделать. Это мой второй день с javascript, и второй день с сайтами в общем после двухлетнего перерыва от компьютера, не разбираюсь еще хорошо и забыл уже все :))

Вот рабочий код если кому понадобиться пример:


function sendrep(a){


$("#rep").remove();

$("body").append("<div id='rep' title='Репутация пользователя' style='display:none' ><iframe width='100%' height='400' src='/engine/reputation.php?doaction=read&amp;user="+a+"' frameborder='0' marginwidth='0' marginheight='0' allowtransparency='true'></iframe></div>");

	$('#rep').dialog({

autoOpen: false,

show: 'fade',

hide: 'fade',

width: 560,

height: 500,

dialogClass: 'modalfixed',

buttons: {

"Закрыть" : function() {

$(this).dialog("close");

},

"Изменить репутацию": function() {

$(this).dialog("close");

sendrepchange(a,1);

}

}

});

$('#rep').dialog('open');

return false;


}

function sendrepchange(a,{

$("#repchange").remove();

$("body").append("<div id='repchange' title='Добавление репутации' style='display:none' ><iframe name='addrepframe' id='addrepframe' width='100%' height='400' src='/engine/reputation.php?doaction=addform&amp;user="+a+"&amp;rep="+b+"' frameborder='0' marginwidth='0' marginheight='0' allowtransparency='true'></iframe></div>");

	$('#repchange').dialog({

autoOpen: false,

show: 'fade',

hide: 'fade',

width: 560,

height: 500,

dialogClass: 'modalfixed',

buttons: {

"Закрыть" : function() {

$(this).dialog("close");

},

"Отправить": function() {

document.getElementById("addrepframe").contentWindow.document.getElementById("addrepform").submit();

$(this).dialog({

buttons: {

"Закрыть" : function() {

$(this).dialog("close");

},

"Вернуться назад" : function() {

$(this).dialog("close");

sendrep(a);

}

}

});

}

}

});

$('#repchange').dialog('open');

return false;

}

[/code]

Изменено пользователем nizhnyk
Ссылка на сообщение
Поделиться на других сайтах

Присоединяйтесь к обсуждению

Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

×
×
  • Создать...