Penso possa essere questa la sezione giusta sulla quale scrivere. Vi spiego brevemente il mio problema. Ho creato un form per l'inserimento dei dati in un sito. Ho creato nella stessa pagina anche un PHP che verifica la compilazione dei campi e l'accettazione delle note legali della pagina. Ora vorrei creare delle finestre che praticamente evidenzino i vari errori (1. non compilazione dei dati; 2. non accettazione delle note legali). Inoltre una terza finestra che conferma l'avvenuto invio con successo. Ho creato grazie a delle guide trovate online nelle quali spiegavano l'inserimento di finestre modali con Jquery. fin qui tutto ok. Piccolo problema la finestra si apre quando apro la pagina contenente il forum. A me piacerebbe invece poter aprire le finestre modali solo quando clicco sul pulsante di invio dati. Potete aiutarmi?
Per completezza vi invio il codice di tutto quanto detto qui sopra:
Forum HTML per inserimento dati:
<p> Compilate tutti i campi seguenti per contattarci, Vi risponderemo nel più breve tempo possibile. </p>
<form class="form" method="post" action="">
<fieldset class="form_dx">
<legend style="text-transform:uppercase;">Privacy</legend>
<p style="color:rgb(5, 104, 57); margin-top: 10px; margin-bottom: 30px; font-weight:lighter;"> ATTENZIONE: Secondo quanto definito dal D. Leg. 196/03 in merito al trattamento dei dati personali, Vi invitiamo a prendere visione delle <a href="legali.html"><strong>Note Legali</strong></a>, in particolare al paragrafo dedicato alle Informazioni sulla privacy e di accettare le stesse prima della comunicazione dei Vs. dati personali.</p>
<label class="label"> Accetta le condizioni
<input name="Privacy" type="checkbox" value="Accetta" id="Accetta" class="label">
</label>
<label class="label">
<input name="Invio" type="submit" value="Invio" class="Submit" style="font-family: century gothic, Verdana, Geneva, sans-serif; font-size: 14px; color: rgb(5, 104, 57); bprder: 1px rgb(5, 104,57); border-radius: 2px;">
</label>
</fieldset>
<fieldset class="form_sx">
<legend style="text-transform:uppercase;">Informazioni personali</legend>
<table width="60%">
<tr><td><label class="label"> Nome *</td>
<td><input name="Nome" type="text" class="label" style=" position: relative; border: none; border-radius: 2px;">
</label>
</td>
</tr>
<tr><td><label class="label"> Cognome</td>
<td><input name="Cognome" type="text" class="label" style=" position: relative; border: none; border-radius: 2px;">
</label></td>
</tr>
<tr><td><label class="label"> Azienda *</td>
<td><input name="Azienda" type="text" class="label" style=" position: relative; border: none; border-radius: 2px;">
</label></td>
</tr>
<tr><td><label class="label"> Città/Provincia</td>
<td><input name="Citta" type="text" class="label" style=" position: relative; border: none; border-radius: 2px;">
</label></td>
</tr>
<tr><td><label class="label"> Email *</td>
<td><input name="Email" type="text" class="label" style=" position: relative; border: none; border-radius: 2px;">
</label></td>
</tr>
<tr><td colspan="2"><br><label class="label" style=" margin-top: 5px;"> Scrivi qui il tuo messaggio *</td>
</tr>
<tr><td colspan="2"><textarea name="Messaggio" cols="50" rows="8" class="label" style=" border: none; border-radius: 2px;"></textarea>
</label></td>
</tr>
</table>
<p style="font-size: 13px; color: rgb(5, 104, 57);"><br>* Campi Obbligatori</p>
</fieldset>
PHP per controllo dati e invio ad una mail
<?php
//nascondi errori di PHP
ini_set('display_error', '0');
error_reporting (0);
//Dichiarazione delle variabili
$nome=$_POST['Nome'];
$cognome=$_POST['Cognome'];
$azienda=$_POST['Azienda'];
$citta=$_POST['Citta'];
$email=$_POST['Email'];
$messaggio=$_POST['Messaggio'];
$condizioni=$_POST['Privacy'];
$destinatario='mail dove invio i dati';
$oggetto="Mail di contatto da sito internet <strong>www.miosito.com</strong><br><br>";
//Controllo dei valori inseriti e preparazione del testo della mail
if ($nome!="" && $azienda!="" && $email!="" && $messaggio!="")
{if($condizioni=="Accetta")
{$body = "<strong>Nome: </strong>$nome\n";
$body .= "<strong>Cognome: </strong>$cognome\n\n";
$body .= "<strong>Azienda: </strong>$azienda\n";
$body .= "<strong>Cittá: </strong>$citta\n\n";
$body .= "<strong>Email: </strong>$email\n\n";
$body .= "<strong>Testo del messaggio: </strong><br>$messaggio\n\n";
//invio mail
mail($destinatario,$oggetto,$body);
//Stampa messaggio a video
echo' <div id="finestra1" title="Azienda">
<img src="../images/OK_png.png" title="ok" style="text-align:center; width:76px;">
<p style="text-align:center;"> Grazie per averci contattato</p>
<p style="text-align:right"><a href="home.html">Torna alla HOME</a>
</div>';
}
elseif($condizioni=="")
{
echo' <div id="finestra2" title="ATTENZIONE">
<p></p>
<p style="text-align:center;"><img src="../images/No.png" style="width:76px;"></p>
<p style="text-align:center;">Si prega di prendere visione delle <a href="legali.html">NOTE LEGALI</a> e di accettare le CONDIZIONI DI UTILIZZO del sito</p>
</div>';
}
}
else
{
echo' <div id="finestra2" title="ATTENZIONE">
<p></p>
<p style="text-align:center;"><img src="../images/No.png" style="text-align:center; width:76px;"></p>
<p style="text-align:center;">Si prega di compilare tutti i campi obbligatori</p>
</div>';
}
?>
infine codice jquery per inserimento finestre di dialogo modali (logicamente legate a dei file inseriti nella head):
script type="text/javascript" src="jquery.min.js"></script>
<script type="text/javascript" src="jquery.custom.min.js"></script>
<link href="../css/jquery.custom.css" rel="stylesheet" type="text/css" />
<script type="text/javascript">
$(document).ready(function(){
$('#finestra1').dialog({
autoOpen:false,
modal:true});
});
$(document).ready(function(){
$('#finestra2').dialog({
autoOpen:false,
modal:true,
buttons:{
"Chiudi": function(){
$( this ).dialog( "close" );}}});
});
</script>
Spero qualcuno posssa aiutarmi perchè così la pagina funziona ma ha il problema di aprire la finestra di avviso (finestra 1) all'apertura della pagina.