Envoie formulaire sans cliquer sur un bouton
david42800
-
mpmp93 Messages postés 2931 Date d'inscription Statut Membre Dernière intervention -
mpmp93 Messages postés 2931 Date d'inscription Statut Membre Dernière intervention -
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:
Merci d'avance pour votre aide je me tien a disposition pour de plus ample information.
David
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:
<!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
A voir également:
- Envoie formulaire sans cliquer sur un bouton
- Whatsapp formulaire opposition - Guide
- Formulaire de réclamation facebook compte désactivé - Guide
- Comment faire une capture d'écran sur un samsung sans bouton ? - Guide
- Réinitialiser chromecast sans bouton - Guide
- Diagnostic bouton photo - Accueil - Outils
1 réponse
Bonjour,
JE LIS: "...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. ..."
JE DIS: houlà houlà houlà.... et ouille, aîlle, houlà!
très très grave de faire ça.
Si j'ai bien compris, onChange, à chaque caractère tapé, vous soumettez le formulaire? 20 caractères tapés = 20 soumissions de formulaire!
Vous allez "exploser" le serveur....
par contre, rien ne vous interdit de fractionner vos données en formulaires multiples et soumettre spécifiquement ces données à modification. Exemple:
- un formulaire pour changer données clients, dans votre cas les input nommés Nom, Prenom....
- un formulaire pour changer les autres données
et gérer deux boutons de validation distincts. Et même faire ça dans deux pages différentes.... ca fait un peu plus de templates, mais ils seront moins lourds et ça alllège les traitements et la volumétrie des flux et la charge des pages àa afficher...
A+
JE LIS: "...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. ..."
JE DIS: houlà houlà houlà.... et ouille, aîlle, houlà!
très très grave de faire ça.
Si j'ai bien compris, onChange, à chaque caractère tapé, vous soumettez le formulaire? 20 caractères tapés = 20 soumissions de formulaire!
Vous allez "exploser" le serveur....
par contre, rien ne vous interdit de fractionner vos données en formulaires multiples et soumettre spécifiquement ces données à modification. Exemple:
- un formulaire pour changer données clients, dans votre cas les input nommés Nom, Prenom....
- un formulaire pour changer les autres données
et gérer deux boutons de validation distincts. Et même faire ça dans deux pages différentes.... ca fait un peu plus de templates, mais ils seront moins lourds et ça alllège les traitements et la volumétrie des flux et la charge des pages àa afficher...
A+