problema con form ajax

SolidSnake4

Utente Attivo
23 Ott 2007
505
0
0
Allora sto usando questo script per inserire dei commenti però non mi funziona mi sapreste aiutare ?

questa è la classe jquery

Codice:
$().ready(function(){
	//variabili globali
	var name = $("#name");
	var nameText = $(name).val();
	var email = $("#email");
	var emailText = $(email).val();
	var sito = $("#sito");
	var sitoText = $(sito).val();
	var message = $("#testo");
	var messageText = $(message).val();

	//validazione di campi
	function validateEmail(){
		var a = $("#email").val();
		var filter = /^[a-zA-Z0-9]+[a-zA-Z0-9_.-]+[a-zA-Z0-9_-]+@[a-zA-Z0-9]+[a-zA-Z0-9.-]+[a-zA-Z0-9]+.[a-z]{2,4}$/;
		if(filter.test(a)){
			$("#email").removeClass("error");
			return true;
		}
		else{
			$("#email").addClass("error");
			return false;
		}
	}
	function validateName(){
		if((name.val().length < 4) || (name.val() == nameText)){
			name.addClass("error");
			return false;
		}
		else{
			name.removeClass("error");
			return true;
		}
	}
	function validateMessage(){
		if((message.val().length < 4) || (message.val() == messageText)){
			message.addClass("error");
			return false;
		}
		else{
			message.removeClass("error");
			return true;
		}
	}	
	
	//qualche controllo e invio effettivo dell'email con ajax
	$("#contatti").submit(function(){
		if(!validateName() | !validateEmail() | !validateMessage()){
			return false;
		}
		else {
			$('#load_img').fadeIn();
			$.ajax({
				type: 'post',
				url: 'inviaemail.php',
				data: 'name=' + name.val() + '&email=' + email.val() + '&site=' + sito.val() + '&message=' + message.val(),
				success: function(results) {
					$('#load_img').fadeOut(function() {
						if(results == "commento inviato!") {
							$('#result').html("<span class='success'>Commento inviato correttamente</span>");
						}
						else 
							$('#result').html("<span class='fail'>Errore</span>")
					});
				}
			}); // end ajax
			return false;
		}
	});
	

	//gestione dei dati predefiniti nei vari campi quando ricevono il focus
	//name
	name.focus(function(){
		if($(this).val() == nameText) $(this).val("");
	});
	name.blur(function(){
		if($(this).val() == "") $(this).val(nameText);
	});
	//email
	email.focus(function(){
		if($(this).val() == emailText) $(this).val("");
	});
	email.blur(function(){
		if($(this).val() == "") $(this).val(emailText);
	});
	//Sito web
	sito.focus(function(){
		if($(this).val() == sitoText) $(this).val("");
	});
	sito.blur(function(){
		if($(this).val() == "") $(this).val(sitoText);
	});
	//message
	message.focus(function(){
		if($(this).val() == messageText) $(this).val("");
	});
	message.blur(function(){
		if($(this).val() == "") $(this).val(messageText);
	});
});

e questo e il form :

<form method="post" name="contatti" id="contatti" action="inviaemail.php">
<div id="contact_area">
<input type="text" name="name" id="name" class="form" value="Nome*" />

<input type="text" name="email" id="email" class="form" value="e-Mail*" />

<input type="text" name="sito" id="sito" class="form" value="Sito Web" />

<textarea name="message" id="testo" class="form" rows="12" cols="" >Testo*</textarea>

<input type="hidden" name="id-news" value="52" />

<div><input type="submit" name="submit" id="invia" value="Invia"/></div>
</div>
</form>

<?php
$comment = mysql_query("INSERT INTO ecd_commenti_articoli (nome, mail, website, commento, datains, idart)
VALUES ('".$_POST['name']."', '".$_POST['email']."', '".$_POST['sito]."', '".$_POST['message']."', ".time().", ".$_POST['id-news'].")");

if ($comment)
echo "commento inviato!";
else {
echo "Errore";
}

?>

questa è la pagina che esegue la query. Ma ritorna sempre errore non so perchè

in pratica quando faccio invia, mi compare sempre errore invio. da cosa dipende
 
Ultima modifica:
sono corretti ma ritorna sempre errore :dipser: . Chi mi aiuta ???
 
Ultima modifica:
non mi fa vedere niente dallo script. E solo se tolgo le funzioni mysql mi restituisce commento inviato quando uso mysql no mi da errore non ce un modo per risolvere ?
 

Discussioni simili