[JavaScript+php] problème

Résolu
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)
Configuration: Windows XP
Firefox 2.0.0.6

5 réponses

  1. 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
    1. Contributeur
      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
      1. 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
        1. Contributeur
          je dirais même plus il faut que tu appelles la vérification depuis la '<form>'.
          <form onsubmit="return checkbox_selected()">
          0
          1. Contributeur
            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