submit table form

Par pege, il y a 10 ans


Bonjour,

J'ai un formulaire qui enveloppe un tableau de la manière suivante:

<form id="add_games"> <table id="games"> <thead> <tr> <th>#</th> <th>Equipe</th> </tr> </thead> <tbody> <tr class="rows"> <td>1</td> <td> <select class="form-control" name="team[]"> <option>--Equipe--</option> <?php foreach(get_teams() as $teams): ?> <option value="<?php echo $teams->link_name; ?>" <?php if($teams->link_name == $_GET['team']){echo "selected";} ?>><?php echo $teams->full_name; ?></option> <?php endforeach; ?> </select> </td> </tr> </tbody> </table> <button id="submit" class="btn btn-primary">Insérer</button> </div> </form>

Je le submit en faisant le prochain:

$('#submit').click(function(){ $.ajax({ url:"../ajax/games/games-options.php", method:"POST", data:$('#add_game').serialize(), success:function(data) { alert(data); $('#add_game')[0].reset(); } }); });

Et je l'envoit donc avec mon prochain fichier (games-options.php):

require '../../../functions/main-functions.php'; $number = count($_POST["team"]); if($number > 0) { for($i=0; $i<$number; $i++) { if(trim($_POST["team"][$i] != '')) { $req = $bdd->prepare("INSERT INTO test(team) VALUES(?)"); $req->execute(array($_POST["team"][$i])); } } echo "Data Inserted"; } else { echo "Please Enter Name"; }

Maintenant il ne trouve pas "team"...

Je vous remercie déjà d'avance pour votre aide!!

7 réponses

PhiSyX, il y a 10 ans

Tu as oublié une virgule après le $(this).serialize() ^^

PhiSyX, il y a 10 ans

Yop. Change le $('#submit').click(function(){ par $('#add_games').submit(function(e) { et data:$('#add_name').serialize() par data:$(this).serialize(). ^^
Si tu veux bloquer la navigation (parce que là ça refresh la page quand tu soumets) tu ajoutes e.preventDefault(); dans la function avant ton appelle $.ajax.

Grafikart, il y a 10 ans

Dans le submit met console.log($('#add_name').serialize()) et dit nous ce que ça retourne

pege, il y a 10 ans

Ca ne renvoit rien... :(
J'ai fait comme tu as demande PhiSyX mais il met met pour cette ligne:
success:function(data){
ca comme erreur dans la console:
Unexpected identifier

pege, il y a 10 ans

Bonjour, je vous remercie déjà bcp! Grace a vous j'ai deja bien avancé!!
Maintenant, quand je rajoute une rangée mon td affiche bien 1 puis 2 puis 3,... Quand je supprime par exemple la rangée numéro 2 je vois 1 puis 2,... J'aimerais que ca se réorganise et mettent 1 puis 2,... Je ne sais pas si c'est très claire....

En soit j'aimerais qu'il soit toujours afficher 1, 2, 3...

Je vous remercie d'avance!

PhiSyX, il y a 10 ans

Peux-tu nous montrer l'avancement du code et de l'html (généré) et dire dans ces codes là, quelle action tu veux faire. (détailler. (comme ton premier post))

pege, il y a 10 ans

Donc j'ai au debut un rangée. Quand je clique sur le bouton avec la class add_row il me rajoute une rangée.
Ca me donne ca quand je clique deux fois sur le bouton:
1 // blabla // x(delete)
2 // blabla // x(delete)
3 // blabla // x(delete)
Maintenant si je clique sur la croix de la rangée deux, ca me donne:
1 // blabla // x(delete)
3 // blabla // x(delete)
Moi ce que je voudrais:
1 // blabla // x(delete)
2 // blabla // x(delete)

Je ne sais pas si c'est vraiment clair... :/
Donc en soit c'est ce qui est afficher dans mes premier td... Je veux juste qu'il y ait 1, 2, 3...