jQuery UI 1.7.2 - problema Opera con finestra modulo
Domanda
Stiamo usando jQuery 1.3.2 e 1.7.2 jQuery UI nel nostro progetto.
Tutto stava funzionando perfetto finché stavamo usando jQuery UI 1.7.1. Poi ci siamo trasferiti in jQuery UI 1.7.2, ma sta causando un problema a Opera (9,63).
La questione è la seguente: -
C'è una finestra di dialogo jQuery UI con una textarea e un pulsante di invio, che i messaggi i dati in "textarea" al server. Prima di aprire la finestra di dialogo il valore del textarea è impostato su bianco.
Anche io sto usando modale: true per ottenere la sovrapposizione.
Ora, quando apro la finestra di dialogo per la 1a volta, inserire alcuni dati nella textarea e fare clic su conferma, esso invia i dati al server.Then chiudo la finestra di dialogo, e riaprirlo, ancora una volta inserire del testo nell'area di testo e inviare ancora. Questa volta si sta postando i dati vuoti (o qualsiasi valore è stato fissato per il "textarea" prima openeing la finestra di dialogo.)
Il problema è solo in Opera e di riposo dei browser sono lavorando bene. Anche l'opera funziona bene se ho impostato modale come false, o se io uso jQuery UI 1.7.1.
Ecco un esempio di programma.
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>
Se usiamo google.load ( "jquery", "1.7.1") che funzionerà perfetto.
O se ho impostato modal: true poi anche che funzionerà bene.
Soluzione
Se tutto funziona perfettamente in 1.7.1 mi piacerebbe restare con quello e segnalare il bug al sito degli sviluppatori.
Altri suggerimenti
Opera ha anche un debugger console . Penso che vi aiuterà a passare gli sviluppatori un messaggio di errore che si può ottenere se lo si attiva.