Ciao a tutti, avrei bisogno di un piccolo/grande aiuto, perchè non riesco a capire dove sbaglio. In pratica ho fatto un semplice form per inviare delle mail tramite php. Per renderlo un po' più accattivante ho aggiunto alcuni effetti tramite jquery. Nello specifico ho utilizzato ajax e il formato Json per dialogare con lo script php. Il problema risiede nella semplice dissolvenza del form per la durata della risposta. In effetti quando avviene l'invio dei dati il form si dissolve mostrando il messaggio di risposta ma non ricompare più. Questo mi andrebbe anche bene se non dovesi tenere conto degli eventuali errori di compilazione del form stesso. Percio' a me serve che si dissolva per il tempo di "elaborazione" dei dati e ricompaia con il messaggio di risposta.
Qualcuno sarebbe cosi' gentile da darmi un suggerimento sul da farsi? Grazie mille!
Di seguito il codice:
codice:
<form  name="form" id="contactform">

	



		<label for="name"><?php echo $lang['NAMEFORM']; ?></label>

		<input class="boxform" type="text" name="name">

	</p>

					

	



		<label for="email"><?php echo $lang['EMAILFORM']; ?></label>

		<input class="boxform" type="text" name="email">

	</p>

					

	



		<label for="message"><?php echo $lang['MESSFORM']; ?></label>

		<textarea  class="boxform" name="message" maxlength="1000" cols="10" rows="6"></textarea>

	</p>

					

		<input type="submit" class="button" name="submit" value="<?php echo $lang['send']; ?>">

	

	</form>



	 [img]images/loading.gif[/img]



	<div id="result"></div>
e jquery

codice:
jQuery(document).ready(function(){  
   
     jQuery("#contactform").submit(function(){  
  
         jQuery.ajax({  
             type: "POST",  
             url: "email.php",  
             data: jQuery("#contactform").serialize(),  
             dataType: "json",  
   
             success: function(msg){ 
		jQuery("#contactform").hide();
 		jQuery("#load").fadeIn(); 
                jQuery("#result").removeClass('error');  
                jQuery("#result").addClass('success');  
                jQuery("#result").addClass(msg.status);  
                jQuery("#result").html(msg.message);  
             },  
             error: function(){  
                jQuery("#result").removeClass('success');  
                jQuery("#result").addClass('error');  
                jQuery("#result").html("Errore invio form. Riprova");  
             }  
         });  
    
        return false;  
  
    });  
   
});

e php:

codice:
<?php





include ('lang.php');



// Get data 

$name = $_POST['name'];

$email = $_POST['email'];

$comment = $_POST['message'];




	// Test variables

	if ((isset($_POST['name']) && !empty($_POST['name'])) && 

	(isset($_POST['email']) && !empty($_POST['email'])) && 

	(isset($_POST['message']) && !empty($_POST['message']))) {

 

    		$email_exp = "/^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$/i"; 

 		if(preg_match($email_exp,$email)) {



		// Send Email

		$to = ' ';



		$subject = '  ';	



		$message = " $comment ";



		$headers = "From: " . $email . "\r\n";



		'Reply-To: noreply@ localhost' . "\r\n" .



		'X-Mailer: PHP/' . phpversion();



		mail($to, $subject, $message, $headers);
		
		$lang['status'] = 'success';
		$lang['message'] = $lang['sendmail'];
		$lang['message'];



  		} else {



		$lang['status'] = 'error';
		$lang['message'] = $lang['errormail'];

		$lang['message'];


		}



	} else {

		

	 $lang['error'] = 'error';
	 $lang['message'] = $lang['errorform'];

	 $lang['message'];
	

	}



echo json_encode($lang);



?>