IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

jQuery Discussion :

envoyer un formulaire sans bouton


Sujet :

jQuery

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2010
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 16
    Points : 5
    Points
    5
    Par défaut envoyer un formulaire sans bouton
    Bonjour a tous !!!

    Je vous expose mon problème j'ai chercher avant de poster mais j'ai eu des éléments de réponse qui ne fonctionne pas dans mon cas.

    J'ai un formulaire qui récupérer des info a partir d'une base de données.
    j'utilise une méthode ajax pour envoyer le formulaire en appuyant sur le bouton sans recharger la page.

    Mais je voudrais évoluer le système car le formulaire peu être très gros et appuyer a chaque fois sur le bouton envoyer peu être très long (dans le code suivant je n'affiche que l'essentiel).

    je voudrais a chaque depart d'un input (onchange) je voudrais que sa actualise ma base de donner au lieu de le faire avec le bouton.

    j'ai essayer avec document.getElementById("accounts_modif_form").submit(); mais sa fonctionne pas.

    Voici mon code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Stdict//EN" "http://www.w3.org/td/xhtml1/DTD/xhtml1-stdict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
        <head>
            <title>Ceci est une page de test avec des balises PHP</title>
            <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    		<link rel="stylesheet" media="screen" type="text/css" title="snef" href="planning.css" />
    		<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
     
    <!--Soumettre le formulaire sans recharger la page-->
    		<script language="JavaScript">
    			$(document).ready(function() {
    			// lorsque je soumets le formulaire
    			$('.monForm').on('submit', function() {		
                // appel Ajax
                $.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 (voir plus loin), ici les $_POST
                    success: function(html) { // je récupère la réponse du fichier PHP
                    //alert(html); // j'affiche cette réponse
                    }
                });
            return false; // j'empêche le navigateur de soumettre lui-même le formulaire
    		});
    	});
    		</script>
        </head>
        <body>
    <table>
    		<?php if(isset($_POST['Envoyer'])) var_dump($_POST); 
                    { ?>
    		<form class="monForm" method="post" action="planning_cree.php">
    		<td><input type="hidden" name="ID" size="4" value="<?php echo $donnees['IdPersonne']; ?>" /></td>
    		<td><input type="text" name="Nom" size="12" value="<?php echo $donnees['Nom']; ?>" /></td>
    		<td><input type="text" name="Prenom" size="10" value="<?php echo $donnees['Prenom']; ?>" /></td>
    		<td><input type="text" name="Interimaire" size="8" value="<?php echo $donnees['Interimaire']; ?>" /></td>
    		<td><input type="text" name="Habilitation" size="8" value="<?php echo $donnees['Habilitation']; ?>" /></td>
    		<td><input type="text" name="Qualification" size="2" value="<?php echo $donnees['Qualification']; ?>" /></td>
    		<td><input type="text" name="Remplacement" size="1" value="<?php echo $donnees['Remplacement']; ?>" /></td>
    		<td><input type="text" name="Observation" size="10" value="<?php echo $donnees['Observation']; ?>" /></td>
    		<td><input type="text" name="Lundi" size="1"  /></td><!-- acualisation de la BDD apres depart du input-->
    		<td><input type="text" name="Mardi" size="1"  /></td><!-- acualisation de la BDD apres depart du input-->
    		<td><input type="text" name="Mercredi" size="1"/></td><!-- acualisation de la BDD apres depart du input-->
    		<td><input type="text" name="Jeudi" size="1"  /></td><!-- acualisation de la BDD apres depart du input-->
    		<td><input type="text" name="Vendredi" size="1"  /></td><!-- acualisation de la BDD apres depart du input-->
    		<td><input type="submit" name="Envoyer" value="Envoyer" onclick="this.disabled=true;this.value='Crée'"/></td> <!-- bouton envoyer a supprimer-->
    		</p>
    	</form>
    	<?php } ?>
    	</table>
    	</div>
    	</div>
        </body>
    </html>


    Merci d'avance pour votre aide je me tien a disposition pour de plus ample information.

    David

  2. #2
    Membre expérimenté Avatar de Willpower
    Homme Profil pro
    sans emploi
    Inscrit en
    Décembre 2010
    Messages
    1 009
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : sans emploi

    Informations forums :
    Inscription : Décembre 2010
    Messages : 1 009
    Points : 1 519
    Points
    1 519
    Par défaut
    je voudrais a chaque depart d'un input (onchange) je voudrais que sa actualise ma base de donner au lieu de le faire avec le bouton.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $('.monForm').on('submit', function() {
    ->
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $('.monForm input').on('change', function() {	// "change" ou "blur" ?

    Tu devras aussi remplacer tous les $(this) par $(this).parents('form') pour envoyer le formulaire au complet. (c'est peut-être un peu lourd, vaudra mieux n'envoyer que l'info modifiée mais ça demandera quelques adaptions dans tes codes clients et serveur)


    edit: tu devras aussi retourner "true" pour ne pas bloquer les actions de "change" (ou "blur") qui de toute façon ne rechargeront pas la page. ;-)

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2010
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 16
    Points : 5
    Points
    5
    Par défaut
    Je vais regarder tous sa je te remercie de ton aide.

  4. #4
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2010
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 16
    Points : 5
    Points
    5
    Par défaut
    Ca fonctionne pas je dois rajouter quelque chose au niveau de mes input comme onchange ?

Discussions similaires

  1. récuperer des données de formulaire sans bouton submit
    Par bachboucha dans le forum Langage
    Réponses: 1
    Dernier message: 29/10/2008, 16h13
  2. Soumettre un formulaire sans bouton
    Par Emilie012 dans le forum Langage
    Réponses: 4
    Dernier message: 29/08/2008, 15h45
  3. envoyer un formulaire sans charger toute la page
    Par kiranis dans le forum Langage
    Réponses: 1
    Dernier message: 10/06/2008, 16h26
  4. Formulaire sans bouton pour methode POST
    Par rems033 dans le forum Général JavaScript
    Réponses: 9
    Dernier message: 05/06/2008, 16h19
  5. Vérifier champ formulaire sans bouton
    Par Jiraiya42 dans le forum Général JavaScript
    Réponses: 72
    Dernier message: 25/07/2007, 12h56

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo