ho creato in una mia webapp delle modal dialog window con jquery-ui per avvisare se ad esempio è stato commesso un errore di battitura. Una volta premuto il pulsante OK della window essa si chiuda ed esegua una istruzione javascript, tipo location.href o history.go(-1). Ma il codice che ho fatto non funziona, non visualizza la modal window ed esegue subito l'istruzione javascript! come mai? ecco il codice che ho usato (da notare che ho messo il tutto in una classe PHP):
Codice PHP:
public function message($text, $val=0, $page='') {
$dialog = "<script type=\"text/javascript\">
$(function() {
$( \"#dialog\" ).dialog({
modal: true,
resizable: false,
buttons: {
OK: function() {
$(this).dialog('close');
}
});
});";
$dialog .= "<div id=\"dialog\" title=\"WARNING\">
" . $text . "</p></div>";
if ($val == 1) $dialog .= " history.back();";
if ($val == 2) $dialog .= " location.href = '" . $page . "';";
if ($val == 3) $dialog .= " location.href = './\\';";
return $dialog . '</script>' ;
}
echo $class->message("email non inserita!", 1);
nell'esempio sopra riportato invece di apparire la modal window viene eseguita l'istruzione javascript seguente (in questo caso history.back())