Пользовательский интерфейс jQuery 1.7.2 - Проблема Opera с диалогом формы

StackOverflow https://stackoverflow.com/questions/1104817

  •  12-09-2019
  •  | 
  •  

Вопрос

В нашем проекте мы используем jQuery 1.3.2 и jQuery UI 1.7.2.

Все работало идеально, пока мы не начали использовать jQuery UI 1.7.1.Затем мы обновились до jQuery UI 1.7.2, но это вызывает проблемы в Opera (9.63).

Проблема заключается в следующем :-
Существует диалоговое окно пользовательского интерфейса jQuery с текстовым полем и кнопкой отправки, которая отправляет данные в "текстовом поле" на сервер.Перед открытием диалогового окна значение textarea устанавливается равным пустому.Также я использую Modal: true, чтобы получить наложение.

Теперь, когда я открываю диалоговое окно в первый раз, ввожу некоторые данные в textarea и нажимаю отправить, оно отправляет данные на сервер.Затем я закрываю диалоговое окно и снова открываю его, снова ввожу текст в текстовую область и отправляю снова.На этот раз он публикует пустые данные (или любое другое значение, которое было установлено для "текстового поля" перед открытием диалогового окна.)

Проблема только в Opera, а остальные браузеры работают нормально.Даже opera работает нормально, если я устанавливаю modal как false или использую jQuery UI 1.7.1.

Вот пример программы.

google.load("jquery", "1.3.2"); google.load("jqueryui", "1.7.2"); //Attach a hidden dialog to body. function initDialog() { var innerDiv = $("`<div>`"); $(innerDiv).attr({'id' : 'testDialog'}); var textBox = $("`<textarea>`"); $(textBox).attr({'id' : 'testBox', 'rows' : '2'}); $(innerDiv).append(textBox).appendTo('body'); $('#testDialog').css('visibility', 'hidden'); $('#testDialog').dialog({ autoOpen : false, width : 500, modal : true, title : 'Enter text and click Alert', buttons : { "Alert" : function() { alert($('#testBox').val()); } } }); } //Show the hidden dialog. function showDialog() { $('#testDialog').css('visibility', 'visible'); $('#testBox').val(''); $('#testDialog').dialog('open'); } window.onload = function() { initDialog(); $('#mylink').click(function(){ showDialog(); }); } </script> <body> <a href="javascript:void(0);" id='mylink'>Click here </a> </body>

Если мы используем google.load ("jquery", "1.7.1"), это будет работать идеально.
Или, если я установлю modal: false, тогда тоже все будет работать нормально.

Это было полезно?

Решение

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

Другие советы

В Opera также есть консольный отладчик.Я думаю, это поможет передать разработчикам сообщение об ошибке, которое вы можете получить, если активируете его.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top