[RESOLU] Récupérer données formulaire avec Jquery

_Dadou_
Invité n'ayant pas de compte PHPfrance

13 janv. 2014, 16:45

Bonjour Bonjour !

Je débute le Jquery, et j'ai une petite question par rapport à la récupération de données depuis un formulaire PHP. J'ai une page HTML avec du JQuery dedans qui load() une page PHP qui est enfait un formulaire, et je voudrais, au moment de submit le formulaire, récupérer la donnée saisie pour l'envoyer à une autre page PHP via un deuxiéme load() ou un get(),


la page html avec le Jquery dedans :
<script>
$(document).ready(function(){
		$("#requete_table").load("requeteTable.php");

               //$("#requete_colum").load("requeteColum.php?reqtable=.....);   le deuxiéme load() qui serait ici, avec en paramétre le resultat de l'envoie du formulaire
});
</script>

<div id="requete_table"></div>

<div id="requete_colum"></div>
et la page PHP qui génére le formulaire (et dont je voudrais récup le resultat avec le Jquery):
<?php
/*
...
*/
mysql_connect($host,$user,$pwd) or die ('Error connecting to mysql');
mysql_select_db($bdd);

$req = mysql_query("SHOW TABLES;") or die('Erreur SQL') ;
echo '<form action="index.php?page=10" method="POST">';

echo '<p><label>Selectionnez la table : </label>';
echo '<select name=table>';

while ($ligne=mysql_fetch_array($req))
echo '<option value="'.$ligne[0].'">'.$ligne[0].'</option>';

echo '</select>';
echo '<input type="submit" name="nom" value="Envoyer">';
echo '</form>';

?>

Une idée des 3 lignes de codes qui me manquent ? et s'il faut une approche différente, je suis tout ouïe :)

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

13 janv. 2014, 22:31

salut,

Il faut que tu fasse la validation du formulaire en javascript (avec jQuery si tu veux) et tu envois la chose à ta page de validation via une requête ajax et le retour te sert à peupler ta seconde div.

Pourquoi utiliser load ?
C'est quand même plus simple de mettre le formulaire directement dans la partie html, il n'y aucune valeur ajoutée à faire cela (pire tu rajoute une requête réseau après l'affiche de la page).

@+
Il en faut peu pour être heureux ......

_Dadou_
Invité n'ayant pas de compte PHPfrance

14 janv. 2014, 16:15

salut,

Il faut que tu fasse la validation du formulaire en javascript (avec jQuery si tu veux) et tu envois la chose à ta page de validation via une requête ajax et le retour te sert à peupler ta seconde div.

Pourquoi utiliser load ?
C'est quand même plus simple de mettre le formulaire directement dans la partie html, il n'y aucune valeur ajoutée à faire cela (pire tu rajoute une requête réseau après l'affiche de la page).

@+

oui effectivement je m'en suis rendu compte que cétait plus simple de tout mettre sur la même page \:D/ je voulais juste séparer les différentes types de code, mais c'est pas des plus évident pour appeler chaque page et prendre les résultats.

Sinon j'ai trouvé comment récupérer les données du formulaire (enfait, du <select>)

il fallait mettre un id sur le <select> et on récupére la valeur comme ça:

[javascript]$('#IdSelect :selected').text();[/javascript]

et pour tester

[javascript] var tmp= $('#IdSelect :selected').text();
alert(tmp);[/javascript]


et tout roule ;)

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

15 janv. 2014, 01:15

Modération :
Si ta question est résolue, pense à l'indiquer pour que les futures personnes qui voudront consulter ce sujet sachent qu'il contient une solution.
Tu peux réaliser cette opération toi-même en cliquant sur le bouton vert "Mettre le sujet en tant que Résolu" situé en haut de la page à côté du titre du sujet.
Il en faut peu pour être heureux ......

Eléphanteau du PHP | 11 Messages

15 janv. 2014, 15:35

salut

j’essaie de faire la même chose
mais même avec t'es explication je n'y parviens pas.
pourrais tu stp me donne plus de code
je dois me trompé quelque pas ;(

Merci

_Dadou_
Invité n'ayant pas de compte PHPfrance

15 janv. 2014, 17:37

Reeee

Je te mets un <select> avec le code JQuery qui va bien pour récupérer ce qu'on a sélectionné (sans la partie php)

<script>
$(document).ready(function(){
  $("#btn").click(function(){   //evenement quand on clique sur l'element qui a pour id "btn", ici notre bouton Go !
    var tmp= $('#IdSelect :selected').text();    // on récupére le texte selectionné pour l'element qui a l'id "IdSelect", ici cest notre balise <select>
    alert(tmp);   // une ptite alerte histoire d'être sûr de ce qu'on a récupéré
  });
});
</script>

<select id="IdSelect" name="Nombre">  //le select avec l'id qui va bien
	<option value="1">Un</option>
	<option value="2">Deux</option>
	<option value="3">Trois</option>
</select>
<button id="btn">Go!</button>

Une fois que tu récupéres ton select, tu en fais ce que tu veux.

:wink:

@moogli
J'aimerais bien mais il n'y a rien d'affiché, ptet que c'est parce que je ne suis pas enregistré ?

Eléphanteau du PHP | 11 Messages

16 janv. 2014, 10:43

Merci