Ciao a tutti,

ho questo problema.

Classico codice php per l'invio:

Codice PHP:
<form id="formail" method="post" action="">
    <
div id="risposta">
    </
div>
    

Nome:</p>
    <
input type="text" id="nome" name="nome"  value="" />

    

E-mail:</p>
    <
input type="text" id="email" name="email"  value="" />

    

Oggetto:</p>
    <
input type="text" id="oggetto" name="ogggetto"  value="" />

    

Messaggio:</p>
    <
textarea id="messaggio" name="messaggio" rows="9" cols="20"></textarea>

    <
input type="submit" id="invia" name="invia" value="Invia" />
    </
form
Qui ho il codice javascript/ AJAX:

codice:
$(document).ready(function(){
	$("#invia").click(function(){
	
	//Recuperiamo tutte le variabili
		var valid = '';
		var isr = ' è richiesto.</p>';
		var name = $("#nome").val();
		var mail = $("#email").val();
		var subject = $("#oggetto").val();
		var messaggio = $("#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 (subject.length<1) {
			valid += '

Un oggetto 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","#ffc0c0");
		}
		//Se i controlli vengono superati, compare un messaggio di invio in corso
		else {
			var datastr ='name=' + name + '&mail=' + mail + '&subject=' + subject + '&messaggio=' + encodeURIComponent(messaggio);
			$("#risposta").css("display", "block");
			$("#risposta").css("background-color","#FFFFA0");
			$("#risposta").html("

Invio del messaggio in corso..</p>");
			$("#risposta").fadeIn("slow");
			setTimeout("send('"+datastr+"')",2000);
		}
		return false;
	});
});


function send(datastr){
	$.ajax({	
		type: "POST",
		url: "email.php",
		data: datastr,
		cache: false,
		success: function(html){
		$("#risposta").fadeIn("slow");
		$("#risposta").html(html);
		$("#risposta").css("background-color","#e1ffc0");
		setTimeout('$("#risposta").fadeOut("slow")',2000);
	}
	});
}
Lo script funziona bene, solo che funziona nel caso in cui nella pagine c'è solo 1 form, invece dovrei fare in modo che funzioni se ci sono altri form nella stessa pagina.

Il mio problema è questo che non riesco a risolvere.
Dovrei fare in modo che ogni volta si preme il pulsante " invia ":

Codice PHP:
<input type="submit" id="invia" name="invia" value="Invia" /> 
Nella funzione click()

codice:
$(document).ready(function(){
	$("#invia").click(function(){
devo fare in modo che venga passato non sempre lo stesso parametro "#invia" ma deve essere dinamico perchè i miei " form " nascono in base all'ID del messaggio.
Esempio:

Codice PHP:
$idmessaggio // questo cambia per ogni form stampato sulla pagina.

<form id="formail" method="post" action="">
    <
div id="risposta">
    </
div>
    

Nome:</p>
    <
input type="text" id="nome" name="nome"  value="" />

    

E-mail:</p>
    <
input type="text" id="email" name="email"  value="" />

    

Oggetto:</p>
    <
input type="text" id="oggetto" name="ogggetto"  value="" />

    

Messaggio:</p>
    <
textarea id="messaggio" name="messaggio" rows="9" cols="20"></textarea>

    <
input type="submit" id="invia_$idmessaggioname="invia_$idmessaggiovalue="Invia" />
    </
form
il code " lo scrivo per farvi capire " dovrebbe venire così:

codice:
$(document).ready(function(){
	$("#invia"_$idmessaggio).click(function(){
Una cosa del genere Ma non so come si fa o comunque non mi funziona :|


Spero di essermi spiegato, il mio click su invia non passa il valore #invia ma cambia in base all'id ....

Grazie ..