Formulaire jquery

Fermé
lapin - 7 juin 2015 à 12:31
 lapin - 7 juin 2015 à 13:33
Bonjour,

alors voila mon probleme:

J'ai suivi un tuto pour réaliser un formulaire traité en ajax via jquery, asser simple mais seulement en esseyer de l'adapter a mes besoin je me retrouve bloqué , et je n'arrrive meme pas a expliquer pourquoi, voila de quoi il sagit:

j'ai tout d'abord un code dans mon header qui permettrais (une fois terminer) de mettre a jour le statut de mes commandes sans chargement de page :

    <script type="text/javascript">

$(function () {
$('#majstatut').submit(function(){
statut2 = $(this).find('input[name=statut2]').val();
id = $(this).find('input[name=id]').val();
alert(id);

});
return false;
});
});

</script>


j'ai ensuite un php qui me permet de lister mes commandes de sorte qu'elle contienne un "mini formulaire" qui me donne la possibiliter de changer le statut donc :

<?php 
require_once('cnx.php');
?>

<fieldset>
<legend> Liste des commandes enregistrées </legend>
<table border="0" align="left" cellspacing="0" cellpadding="4" id="mytable" width="100%">
<tr align="left">
<td>
<br>
<?php

//connection au serveur

//on récupere les statuts
$requete_status = "SELECT *
FROM status
ORDER BY id DESC" ;

// on compte le nombre total de comandes non archivée
$sql = " SELECT COUNT(id) as nbcmd FROM commandes WHERE archive = 0 ";
$requetesql = mysql_query( $sql, $cnx );
$req = mysql_fetch_assoc($requetesql);
$nbcmd = $req['nbcmd'];

// on définit le nombre de commandes a afficher par page
$nbcmdparpage = 10 ;

// on calcule le nombre de page
$nbpage = ceil($nbcmd/$nbcmdparpage) ;



// on créer une variable qui définie la page actuelle
if(isset($_GET['p'])&& $_GET['p']>0 && $_GET['p']<=$nbpage){
$pageactuelle = $_GET['p'] ;
}

else {
$pageactuelle = 1 ;
}

//on récupere les commandes
$requete_commandes = "SELECT *
FROM commandes
WHERE archive = 0
ORDER BY id DESC
LIMIT ".($pageactuelle-1)*$nbcmdparpage.", $nbcmdparpage " ;

//exécution de la requête:
$requete = mysql_query( $requete_commandes, $cnx ) ;



//affichage des données commandes
while( $result = mysql_fetch_object( $requete ) )
{
echo (
"<table style='border: 1px solid black;' width='100%' border='0'>

<tr class='Section_Title'>
<td><img src='commandes/img/".$result->statut.".png'></td>
<td id='nom'>".$result->nom."</td>
<td id='prenom'>".$result->prenom."</td>
<td class='alignright'>
<form method='POST' name='' action='#' id='majstatut'>
<select name='statut2'>
<option value='".$result->statut."' selected='selected'>".$result->statut."</option>
<option value='enregistré'>enregistré</option>
<option value='passée'>passée</option>
<option value='reçue'>reçue</option>
<option value='prévenu'>client prévenu</option>
<option value='livré'>livré</option>
<option value='probleme'>probleme </option>
<option value='annulée'>annulée</option>
</select>
<select name='id' style='display:;'>
<option value='".$result->id."' selected='selected'>".$result->id."</option>
</select>
 <input type='submit' value='' class='actualiser' alt='Actualiser'></form>
</td>

<td class='alignright2'><a href=\"#\" onClick=\"javascript:visibilite('descr".$result->id."'); return false;\" ><img src='commandes/img/plusdd.png' alt='supprimer'/></a>  <a href=\"commandes/modification2.php?idcommande=".$result->id."\" class='lightbox'><img src='commandes/img/editer.png' alt='modifier'/></a>  <a href=\"#\" onClick=\"confirme('".$result->id."')\" ><img src='commandes/img/supprimer.png' alt='Archiver'/></a></td>
</tr>

<tr>
<table>
<tr id='descr".$result->id."' style='display: none;' class='details_cmd'>
<td colspan='3' class='details_cmd_cell'>description:<br><br>".$result->description."</td>
<td class='details_cmd_cell'>commande enregistrée le: <div class='impinfo'> ".$result->date."</div> prise par: <div class='impinfo'>".$result->employe." </div> Téléphone du client: <div class='impinfo'>".$result->telephone." </div> ".$result->type." <br> Statut actuel: ".$result->statut."</td>
</tr>
</table>

</tr>



</table>
"

) ;
}
?>
</td>
</tr>
<div align="center">
<?php
for ($i=1; $i <= $nbpage ; $i++) {
echo "<div class='paginationcmd'><a href='listecommande.php?p=$i'> $i </a></div>   ";
}
?>



Vous remarquerez que dans la parti script il y a une alert , j'aimerais que cette derniere me renvoie l'id de la commande que je traite, et c'est la que je bloque, je ne sais du tout comment faire ..





3 réponses

theshadoo Messages postés 786 Date d'inscription samedi 26 mai 2007 Statut Membre Dernière intervention 3 mai 2016 123
7 juin 2015 à 13:12
Déjà si ton script est dans le head, jquery est-il bien chargé avant ton script ?
si tu mets ton script au niveau du head, tu dois l'encapsuler dans un document ready (fonction anonyme et non une simple fonction anonyme sans le document ready).
$(document).ready(function() {
// Ton script
});

Relèves-tu une erreur javascript au moins ? Sais-tu dépister les erreurs XHR aussi ?
Car cela peut être un parse error côté php ou une erreur js, mais sur un site comme je ne m'amuse pas à dépister une erreur php si le script est long, manque de visibilité.
0
a je vais test le document ready, jregarderais apres pour les erreurs si ca marche pas.. merci pour la réponse !
0
theshadoo Messages postés 786 Date d'inscription samedi 26 mai 2007 Statut Membre Dernière intervention 3 mai 2016 123 > lapin
7 juin 2015 à 13:19
Tu sais dépister les erreurs js ? Tu test sous quel navigateur ?
0
j'ai firefox, dans la console js ya rien :S
0
je pense que le probleme vien du fait que tout les formulair de la page on le meme nom, ca doit creer une confusion, l'aletre me dit "undefined"
0