11548 sujets

JavaScript, DOM et API Web HTML5

Bonjour a tous,

Je vous expose mon problème:

J'utilise ajax pour pouvoir envoyer un formulaire sans recharger la page j'utilise se code la :

<script language="javascript" type="text/javascript">
		$(document).ready(function() {
		function requete() {
	$.ajax({
                url: $(this).attr('action'), // le nom du fichier indiqué dans le formulaire
                type: $(this).attr('method'), // la méthode indiquée dans le formulaire (get ou post)
                data: $(this).serialize(), // je sérialise les données, ici les $_POST
                success: function(html) { // je récupère la réponse du fichier PHP
                //alert(html); // j'affiche cette réponse
                }
}
$('.monForm').on('submit', requete);
$('.monInput').on('change', requete);
});
		</script>


Quand je l'utilise avec un bouton sa marche sans problème:

<form class="monForm" method="post" action="planning_cree.php">
<input type="submit" name="Envoyer" value="Envoyer" onclick="this.disabled=true;this.value='Crée'"/> 
</form>


Mais quand je l'utilise avec onchange sa m'ouvre la page alors comme si le code en ajax ne s'executais pas
PS: j'ai simplifier mon code je suis obliger d'utiliser des classe et non des ID car le formulaire est generer depuis une base de donnée.

<form class="monForm" method="post" action="planning_cree.php">
<input type="text" name="Lundi" size="1" onchange="submit();" value="<?php echo $donnees2['Lundi']; ?>" />
</form>


Merci d'avance pour votre aide et bonne journée Smiley smile