
Le info sull’utilizzo della ui.dialog sono abbastanze chiare ma, siccome sono un po’ tardo, ho perso un po’ di tempo a capire come inviare dati e, di conseguenza, a caricare una pagina dinamica, mypage.php, e quindi non del contenuto inserito in un div già presente nella pagina.
partiamo dal link:
<a class="voto" href="mypage.php">Invia</a>
nulla di chè, la classe ci serve per assegnare il click e l’href per assegnare l’url alla function, ed ora il javascript:
$(function (){
$('a.voto').click(function() {
var url = this.href;
var dialog = $('<div style="display:hidden"></div>').appendTo('body');
var materia = $('#sel_materia').attr('value');
var studente = $('#sel_studente').attr('value');
dialog.load(
url,
{'materia':materia,'studente':studente},
function (responseText, textStatus, XMLHttpRequest) {
dialog.dialog({
width: 400,
modal:true,
title: 'Registro Altra Materia',
buttons: {
"Chiudi": function() {
$(this).dialog("close");
}
}
});
}
);
return false;
});
});
Le variabili inviate sono prese, nel mio caso, da un campo select, dove viene appunto selezionato lo studente e la materia, ma possono essere delle variabili esistenti:
{'materia':<?php echo $materia ?>,'studente':<?php echo $studente ?>},
Il div che conterrà la pagina viene creato in runtime e per le opzioni della dialog potete dare un’occhiata qui.
Le variabili inviate vengono ricevute tramite un $_REQUEST['myvar'] etc etc…
Facile, no?