[JavaScript+php] problème

Résolu/Fermé
bezourox Messages postés 729 Date d'inscription vendredi 30 mars 2007 Statut Membre Dernière intervention 19 janvier 2013 - 13 sept. 2007 à 13:54
bezourox Messages postés 729 Date d'inscription vendredi 30 mars 2007 Statut Membre Dernière intervention 19 janvier 2013 - 13 sept. 2007 à 14:30
Bonjour à tous .
Voila j'ai une page qui affiche une liste de documents récupéré sur un base sql .
Devant chacun des éléments de la liste, je fais apparaitre un "checkbox" car ce que je souhaite faire c'est pouvoir supprimer les documents sélectionnés .

Exemple : Lorsque le mec selectionne 2 éléments sur les 10 et qu'il supprime, ca marche bien car les la page se recharge avec les deux élément selectionnés précédemment qui ont disparu .

Le problème est dans le cas ou le mec ne sélectionne rien et clique sur supprimer .
La j'ai une erreur car la fonction php qui parcours les checkbox n'a pas de paramètres ... jusque la normal .

J'ai donc voulu intégrer un fonction javascript qui vérifie lors du submit que au moins une case est coché :
En voici le code :

<script type="text/javascript">
function checkbox_selected(form)
{
for (i=0, n=form.elements.length; i<n; i++)
{
if ((form.elements[i].checked == true))
return true;
}
alert("Selectionnez un ou plusieurs QCM.");
return false;
}
</script>


Maintenant, lorsque le mec ne sélectionne aucune case et qu'il exécute, le popup d'erreur s'ouvre bien avec le message "Selectionnez un ou plusieurs QCM." , mais dès qu'on ferme ce popub, la fonction php est quand meme exécuté avec un checkbox de vide et mon message d'erreur apparait a nouveau .

une petite aide ?

juste pour info la fonction php qui recup les éléments selectionnée est faite avec ca : foreach ($qcm as $val)
A voir également:

5 réponses

Dalida Messages postés 6728 Date d'inscription mardi 14 mai 2002 Statut Contributeur Dernière intervention 11 janvier 2016 921
13 sept. 2007 à 14:00
salut,

je suppose qu'il faut ajouter un "return false;" à l'appel de la fonction.
c'est quoi le code html du 'submit' qui déclenche la vérification ?
0
Dalida Messages postés 6728 Date d'inscription mardi 14 mai 2002 Statut Contributeur Dernière intervention 11 janvier 2016 921
13 sept. 2007 à 14:06
je dirais même plus il faut que tu appelles la vérification depuis la '<form>'.
<form onsubmit="return checkbox_selected()">
0
bezourox Messages postés 729 Date d'inscription vendredi 30 mars 2007 Statut Membre Dernière intervention 19 janvier 2013 143
13 sept. 2007 à 14:10
salut .

mon bouton submit :
<input type="submit" name="request" value="Supprimer" onclick='checkbox_selected(this.form)'><br />

mon form :
<form action="requete_delete.php" method="post" name="requete" class="text" onsubmit="retourn confirmation(this)">

je pense effectivement que c le form qui ne va pas
0
Dalida Messages postés 6728 Date d'inscription mardi 14 mai 2002 Statut Contributeur Dernière intervention 11 janvier 2016 921
13 sept. 2007 à 14:17
tu as de toute façon une erreur dans le 'onSubmit'.
essaie comme ça :
<input type="submit" name="request" value="Supprimer" ><br /> 

<form action="requete_delete.php" method="post" name="requete" class="text" onsubmit="return checkbox_selected(this.form)"> 
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
bezourox Messages postés 729 Date d'inscription vendredi 30 mars 2007 Statut Membre Dernière intervention 19 janvier 2013 143
13 sept. 2007 à 14:30
merci grand chef :)
tout est réglé . c'était bien ca .


Pour les prochains galériens comme moi, la solution :

déclarer votre formulaire comme ceci :

<form action="next.php" method="post" name="asyouwant" class="text" onsubmit=" return checkbox_selected(this)">

et la fonction :

<script type="text/javascript">
function checkbox_selected(form)
{
for (i=0, n=form.elements.length; i<n; i++)
{
if ((form.elements[i].checked == true))
return true;
}
alert("Selectionnez un ou plusieurs QCM.");
return false;
}
</script>
0