case à cocher obligatoire

case à cocher obligatoire - HTML/CSS - Programmation

Marsh Posté le 22-07-2005 à 11:57:45    

Salut,
j'ai un formulaire deja existant dans lequel je voudrais rajouter 2 cases a cocher. Il faudrait que l'internaute coche au moins une des 2 obligatoirement.
J'ai trouvé cette fonction (pas capable de le faire moi meme) :

Code :
  1. function VerifCaseACocher(){
  2. for(i=0;i<document.forms[0].supp.length;i++) {
  3. if (document.forms[0].supp[i].checked==true){
  4. return true;
  5. }
  6. }
  7. return false;
  8. }
  9. function Supprimer() {
  10. if (VerifCaseACocher()==true){                  if(confirm('Voulez-vous supprimer le ou les actualités sélectionnés ?')){
  11. document.form1.actionCacher.value = "supprimer";
  12. document.form1.action = "maj_alaune.asp?action=supprimer";
  13. document.form1.submit();
  14. }
  15. }else{
  16. alert("ATTENTION : Vous n\'avez sélectionner aucune actualités !" );
  17. }
  18. }


 
Comment appeller cette fonction dans mon input qui en appelle deja une (check verif):

Code :
  1. <input type="button" name="go" value="Envoyer" onclick="commander()" class="bouton">


 
Merci


Message édité par kameha le 22-07-2005 à 11:58:09
Reply

Marsh Posté le 22-07-2005 à 11:57:45   

Reply

Marsh Posté le 22-07-2005 à 12:00:38    

Vire ce code merdique tout de suite. Il repose sur du JS pour envoyer le formulaire, c'est du très grand n'importe quoi :(... Déjà, la première chose à faire, c'est de faire la vérif côté serveur. Après tu fera la version JS.

Reply

Marsh Posté le 22-07-2005 à 12:05:27    

"du grand n'importe quoi" c'est un peu fort. Il faut voir le cadre de son appli. Ca peut être un intranet...  
Ensuite, si j'ai bien compris ta question il suffit de rajouter à ta methode "commander" le test

Code :
  1. if (VerifCaseACocher()==true)

 
avant l'appel au submit().

Reply

Marsh Posté le 22-07-2005 à 12:08:54    

Si, c'est du n'importe quoi :D Ce genre de truc se met dans l'évnènement onsubmit du formulaire ;)

Reply

Marsh Posté le 22-07-2005 à 12:26:27    

ce qui revient au même ;)

Reply

Marsh Posté le 22-07-2005 à 12:27:24    

Non, parce que du coup le submit n'est pas fait en JS, il est fait via un input type="submit" normal

Reply

Marsh Posté le 22-07-2005 à 12:30:45    

C'est vrai. Je n'ai que travaillé sur des intranets ou le js était imposé. Dans cette optique là, j'aime avoir un contrôle plus poussé des events js. Tu ne valides pas forcement une page avec un bouton :p.

Reply

Marsh Posté le 22-07-2005 à 12:40:15    

Dans ce cas, si faut un truc poussé, autant faire une vraie appli complète, ou passer en XForms ;)

Reply

Marsh Posté le 22-07-2005 à 14:05:56    

Dans mon cas, c'était des applis 3-tiers avec font-end j2ee, un serveur d'appli maison de type struts, xml/xsl, taglibs et gavé de js (controles activeX interdit, tout était fait à grand coup de frame cachée pour emuler du ajax - BloatWare Powa).

Reply

Marsh Posté le 22-07-2005 à 14:06:44    

lol :D

Reply

Marsh Posté le 22-07-2005 à 14:06:44   

Reply

Marsh Posté le 22-07-2005 à 14:12:58    

aie aie, comme c'est chaud ce dont vous parler.
 
Voici le début de ma fonction 'commander' auquel je voudrais rajouter un if "aucune case cocher" = DialogueBox (Ctrl, 'Vous devez cocher au moins une des 2 cases!');

Code :
  1. function commander()
  2.      {
  3. if (!CheckSaisie0(document.SAISIE.mediasource,'mediasource')) return;
  4.   if (!CheckSaisie(document.SAISIE.nom,'nom')) return;
  5.    if (!CheckSaisie1(document.SAISIE.prenom,'prenom')) return;
  6.    if (!CheckSaisie2(document.SAISIE.adresse,'adresse')) return;
  7.     if (!CheckSaisie3(document.SAISIE.code_postal,'code_postal')) return;
  8.    if (!CheckSaisie4(document.SAISIE.ville,'ville')) return;
  9.    if (!CheckSaisie5(document.SAISIE.num_carte,'num_carte')) return;
  10. if (!CheckMail(document.SAISIE.email,'email')) return;
  11.   document.SAISIE.submit();
  12.      }
  13. function CheckSaisie0(Ctrl,Champ) {
  14.            if (Ctrl.value == "" ) {
  15.              DialogueBox (Ctrl, 'Vous devez remplir le champ Media');
  16.                 return (false);
  17.            } else
  18.                 return (true);
  19.      }
  20. ...


 
La methode c'est ça ou il faut que je re creer une nouvelle fonction javascript?
merci


Message édité par kameha le 22-07-2005 à 14:16:03
Reply

Marsh Posté le 22-07-2005 à 14:13:44    

Mais nan :)

Reply

Marsh Posté le 22-07-2005 à 14:30:36    

jvais plutot partir sur ça : http://www.editeurjavascript.com/s [...] _2_185.php
mais je crois qu'il ne fonctionne pas avec 2 checkbox...

Reply

Marsh Posté le 22-07-2005 à 14:34:53    

P'tain mais ces scripts de merde [:itm]
 

<form action="truc" onsubmit="check()">
  <div>
    <input type="checkbox" id="poulet" name="poulet" value="poulet" /><label for="poulet">Poulet</label><br />
    <input type="checkbox" id="boeuf" name="boeuf" value="boeuf" /><label for="boeuf">Boeuf</label><br />
    <input type="submit" value="Envoyer" />
  </div>
</form>
<script type="text/javascript">
  function check() {
    var poulet = document.getElementById('poulet');
    var boeuf = document.getElementById('boeuf');
 
    if(poulet.checked == false && boeuf.checked == false) {
 
      alert('Vous devez sélectionner au moins une viande');
      return false;
    } else {
 
      return true;
    }
  }
</script>

Reply

Marsh Posté le 22-07-2005 à 14:38:04    

lol l'exemple
 
dis donc, mais ce serait pas exactement ce dont j'ai besoin ce script
THX


Message édité par kameha le 22-07-2005 à 14:40:29
Reply

Marsh Posté le 22-07-2005 à 14:42:26    

Ch'ais pas s'il marche par contre, je l'ai vite tapé en 2 minutes [:joce]

Reply

Marsh Posté le 22-07-2005 à 14:46:09    

je test

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed