Salve a tutti!

ho un problema con un semplicissimo script di validazione di un form che poi viene inviato con ajax...

se nella text area c'è solo una riga va tutto bene. se invece ci scrivo del testo andando a capo, si inchioda tutto!

ecco qua:


$(document).ready(function(){
$("#invia").click(function(){

//Recuperiamo tutte le variabili
var valid = '';
var isr = ' &#232; richiesto.</p>';
var name = $("#nome").val();
var mail = $("#email").val();
var text = $("#messaggio").val();

//Eseguiamo una serie di controlli
if (name.length<1) {
valid += '

Un nome valido'+isr;
}
if (!mail.match(/^([a-z0-9._-]+@[a-z0-9._-]+\.[a-z]{2,4}$)/i)) {
valid += '

Un indirizzo e-mail valido'+isr;
}
if (text.length<1) {
valid += '

Un messaggio valido'+isr;
}
//Se i controlli non vengono superati, appare il messaggio di errore.
if (valid!='') {
$("#risposta").fadeIn("slow");
$("#risposta").html("

Errore:</p>"+valid);
//$("#risposta").css("background-color","#66cc00");
}
//Se i controlli vengono superati, compare un messaggio di invio in corso
else {
var datastr ='nome=' + name + '&email=' + mail + '&messaggio=' + text;
$("#risposta").css("display", "block");
$("#risposta").css("background-color","#66cc00");
$("#risposta").html("

Invio del messaggio in corso..</p>");
$("#risposta").fadeIn("slow");
setTimeout("send('"+datastr+"')",2500);
//setTimeout('$("#risposta").fadeOut("slow")',3000);
}
return false;
});
});
//Creazione della funzione di invio. Si baserà sul nostro file asp "mail.asp".
function send(datastr){
$.ajax({
type: "POST",
url: "mail.asp",
data: datastr,
cache: false,
success: function(html){
$("#risposta").fadeIn("slow");
$("#risposta").html(html);
$("#risposta").css("background-color","#66cc00");
$("#risposta").css("color","#ffffff");
$("#risposta").css("font-size","12px");
$("#risposta").css("font-family","Tahoma,Arial,Helvetica,sans-serif");
setTimeout('$("#risposta").fadeOut("slow")',3500);
}
});
}