[JavaScript+php] problème

Résolu
bezourox Messages postés 730 Date d'inscription   Statut Membre Dernière intervention   -  
bezourox Messages postés 730 Date d'inscription   Statut Membre Dernière intervention   -
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. Dalida Messages postés 7114 Date d'inscription   Statut Contributeur Dernière intervention   923
     
    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
  2. Dalida Messages postés 7114 Date d'inscription   Statut Contributeur Dernière intervention   923
     
    je dirais même plus il faut que tu appelles la vérification depuis la '<form>'.
    <form onsubmit="return checkbox_selected()">
    0
  3. bezourox Messages postés 730 Date d'inscription   Statut Membre Dernière intervention   143
     
    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
  4. Dalida Messages postés 7114 Date d'inscription   Statut Contributeur Dernière intervention   923
     
    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
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. bezourox Messages postés 730 Date d'inscription   Statut Membre Dernière intervention   143
     
    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