Salve,
sto usando un form per aggiungere dei commenti a dei post sul sito che sto costruendo: al click sul submit ho associato una funzione jQuery ma la funzione viene richiamata due volte e quindi i dati nel database sono inseriti due volte!
Il form è questo:
	
	
	
		
Questa è la funzione richiamata al click sul submit:
	
	
	
		
Ho provato varie soluzioni che hanno fallito tutte:
Nessuno di questi metodi risolve il problema nè mi aiuta a capire qual'è....

Ps:ho cercato altre discussioni simili nel forum, non ne ho trovate...
				
			sto usando un form per aggiungere dei commenti a dei post sul sito che sto costruendo: al click sul submit ho associato una funzione jQuery ma la funzione viene richiamata due volte e quindi i dati nel database sono inseriti due volte!
Il form è questo:
		Codice:
	
	<form action="#" method="post" id="form_comment">
<textarea name="comment<?php echo $id; ?>" id="comment<?php echo $id; ?>" rows="1" cols="29"></textarea>
<button type="submit" id="mySubmitButton" value="" />
<input type="hidden" name="post_id" id="post_id" value="<?php echo $id; //qui recupero l'id del post che sto commentando ?>"/> 
<input type="hidden" name="verifica_login" id="verifica_login" value="<?php if(isset($_SESSION['nome_user'])) echo $_SESSION['nome_user']; else echo 'no'; // questo valore mi permette di verificare se l'ut è loggato?>"/>
</form>
	Questa è la funzione richiamata al click sul submit:
		Codice:
	
	<script type="text/javascript">
$(function() {
$("#mySubmitButton").click(function() {
//$('#mySubmitButton').attr('disabled', true); //disabilita il tasto submit, l'applicazione di questa riga non risolve il problema
	var post_id = $("#post_id").val();  //questo è l'id del post che passo alla pag  insert_comment_db.php per inserire il commento del db
	var comment = $("#comment"+post_id).val();
	var dataString =  '&comment=' + comment + '&post_id=' + post_id;
	var login = $("#verifica_login").val();
	
	if( comment=='')
	 {
	alert('Please insert a comment: '+post_id);
	 }
	else 
	 {
		if(login == 'no')
		{
			alert('You have to login to comment');
		}
		else
		{
		$("#flash").show();
		$("#flash").fadeIn(400).html('<span class="loading">Loading Comment...</span>'); 
				$.ajax({
					type: "POST",
					url: "insert_comment_db.php", 
					data: dataString,
					cache: false,
					success: function(html){
	 
							$("div#update<?php echo $id; ?>").append(html);
							$("div#update<?php echo $id; ?> li:last").fadeIn("slow");
	  
							document.getElementById('comment<?php echo $id; ?>').value='';
		
						  $("#flash").hide();
						  //alert('inserito in db'); // questo alert viene richiamato due volte
		
					}
				});
		}
return false;
	}
});
});
</script>
	Ho provato varie soluzioni che hanno fallito tutte:
- Ho sostituito $("#mySubmitButton").click con $("#form_comment").submit
 - ho rimosso i tag dei form di apertura e chiusura (<form> </form>)
 - ho rimosso tutti gli if ed else che uso per dei controlli nella funzione
 - ho chiamato il tasto submit in vari modi, <input type="submit"> o <button> etc...
 - ho rimosso l' "action=#" dal form
 - usato vari browser: chrome, ff, IE con tutti lo stesso problema
 
Nessuno di questi metodi risolve il problema nè mi aiuta a capire qual'è....
Ps:ho cercato altre discussioni simili nel forum, non ne ho trovate...