begin process at 2012 05 29 06:33:28
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Javascript / DHTML / Ajax

 > 

JavaScript Orienté objet (POO)

 > 

Function & Méthodes

 > 

fonction avec plusieurs paramètres


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

fonction avec plusieurs paramètres

jeudi 12 mars 2009 à 10:16:33 | fonction avec plusieurs paramètres

yannus29

Bonjour,

Je souhaite faire une fonction qui affiche un bloc si le client choisi "oui" dans le formulaire. Voici mon premier code :

Dans le HEAD :
<script type="text/javascript" language="javascript">
function aff_div(idDiv) {
 cheminChamp = document.insNe.pec;
 for (i=0;i<cheminChamp.length;i++) {
  if (cheminChamp[i].checked) {
   checkVal=cheminChamp[i].value;
  }
 }
 if (checkVal == 1) {
  document.getElementById(idDiv).style.display = 'block';
 }
 else {
  document.getElementById(idDiv).style.display = 'none';
 }
}
</script>

Dans le BODY :
<form name="insNe" id="insNe" method="post" action="">
   <div style="width:285px; height:22px; text-align:right; margin-left:4px;">
    <font class="dix blanc gras">PRISE EN CHARGE<font class="rouge gras arial"> * </font>:</font>
    <input type="radio" name="pec" value="1" style="vertical-align:middle;" onclick="javascript:aff_div('depVilleRam');" /><font class="dix bleu gras">&nbsp;OUI</font>
    <input type="radio" name="pec" value="0" style="vertical-align:middle;" onclick="javascript:aff_div('depVilleRam');" checked="checked" /><font class="dix bleu gras">&nbsp;NON</font>
   </div>
   <div id="depVilleRam" style="float:left; width:330px; height:22px; text-align:right; margin-right:20px; display:none;">Ok &ccedil;a fonctionne
   </div>
</form>


Jusqu'ici tout va bien ça fonctionne très bien. Seulement j'ai voulu pousser un peu ma fonction pour pouvoir la réutiliser plus facilement : en plus de passer en paramètre l'id du bloc DIV que je veux afficher, je veux passer le nom du formulaire et le nom du champ à tester et là cela ne fonctionne plus . Voici le code :

Dans le HEAD :
<script type="text/javascript" language="javascript">
function aff_div(nomform,nomradio,idDiv) {
 cheminChamp = document+"."+nomform+"."+nomradio;
 for (i=0;i<cheminChamp.length;i++) {
  if (cheminChamp[i].checked) {
   checkVal=cheminChamp[i].value;
  }
 }
 if (checkVal == 1) {
  document.getElementById(idDiv).style.display = 'block';
 }
 else {
  document.getElementById(idDiv).style.display = 'none';
 }
}
</script>


Dans le BODY :
<form name="insNe" id="insNe" method="post" action="">
   <div style="width:285px; height:22px; text-align:right; margin-left:4px;">
    <font class="dix blanc gras">PRISE EN CHARGE<font class="rouge gras arial"> * </font>:</font>
    <input type="radio" name="pec" value="1" style="vertical-align:middle;" onclick="javascript:aff_div('insNe', 'pec', 'depVilleRam');" /><font class="dix bleu gras">&nbsp;OUI</font>
    <input type="radio" name="pec" value="0" style="vertical-align:middle;" onclick="javascript:aff_div('insNe', 'pec', 'depVilleRam');" checked="checked" /><font class="dix bleu gras">&nbsp;NON</font>
   </div>
   <div id="depVilleRam" style="float:left; width:330px; height:22px; text-align:right; margin-right:20px; display:none;">Ok &ccedil;a fonctionne
   </div>
</form>

Merci de votre aide.
jeudi 12 mars 2009 à 11:02:59 | Re : fonction avec plusieurs paramètres

Bul3

Membre Club


Bonjour,

sans regarder plus, dans un 1er temps

au lieu de cheminChamp = document+"."+nomform+"."+nomradio;
mettre tout simplement var cheminChamp = document.nomform.nomradio;


Cordialement [mon Site] [M'écrire] Bul
jeudi 12 mars 2009 à 11:18:58 | Re : fonction avec plusieurs paramètres

yannus29

Merci de ta réponse Bul3.
J'avais essayé mais ce n'est pas mieux, la console de la Web Developer Toolbar de FireFox me dit "document.nomform is undefined" et avec la concaténation j'ai "checkVal is undefined"...
jeudi 12 mars 2009 à 11:44:56 | Re : fonction avec plusieurs paramètres

Bul3

Membre Club
Réponse acceptée !

oui....  pas été assez loin

_ le div n'a pas de name donc pour l'utiliser : par l'id seulement
_ s'il en avait un : il ne peut pas être appeler 'dans un form' je crois (?)
_ il faudrait que tu utilises document.forms[nomForm]....
   ou mieux (?) dans l'appel mettre
   aff_div ( document.isNe, document.isNe.pec, document.getElementById('depVilleRam') )
   et dans ta fonction var cheminChamp = nomradio;...
                               if (checkVal == 1) {
                                         idDiv.style.display = 'block'; ...

   ou pas loin

jeudi 12 mars 2009 à 12:20:43 | Re : fonction avec plusieurs paramètres

yannus29

Exact ! à une petite nuance près : comme dans l'appel de la fonction on indique "document.insNe.pec" pour le bouton radio, je n'ai plus besoin du premier paramètre de ma fonction.
Voila ce que cela donne si ça peut aider quelqu'un :

HEAD :

<script type="text/javascript" language="javascript">
function aff_div(nomradio,idDiv) {
 cheminChamp = nomradio;
 for (i=0;i<cheminChamp.length;i++) {
  if (cheminChamp[i].checked) {
   checkVal=cheminChamp[i].value;
  }
 }
 if (checkVal == 1) {
  idDiv.style.display = 'block';
 }
 else {
  idDiv.style.display = 'none';
 }
}
</script>


BODY :

<form name="insNe" id="insNe" method="post" action="">
   <div style="width:285px; height:22px; text-align:right; margin-left:4px;">
    <font class="dix blanc gras">PRISE EN CHARGE<font class="rouge gras arial"> * </font>:</font>
    <input type="radio" name="pec" value="1" style="vertical-align:middle;" onclick="javascript:aff_div(document.insNe.pec, document.getElementById('depVilleRam'));" /><font class="dix bleu gras">&nbsp;OUI</font>
    <input type="radio" name="pec" value="0" style="vertical-align:middle;" onclick="javascript:aff_div(document.insNe.pec, document.getElementById('depVilleRam'));" checked="checked" /><font class="dix bleu gras">&nbsp;NON</font>
   </div>
   <div id="depVilleRam" style="float:left; width:330px; height:22px; text-align:right; margin-right:20px; display:none;">Ok &ccedil;a fonctionne
   </div>
</form>


Merci bcp Bul3
jeudi 12 mars 2009 à 12:30:24 | Re : fonction avec plusieurs paramètres

Bul3

Membre Club


on peut "simplifier"


   <script type="text/javascript">
        function aff_div(nomradio,idDiv)
        {    if ( nomradio.value == "1" )
                    {    idDiv.style.display = 'block';    }
            else     {    idDiv.style.display = 'none';    }
        }
    </script>
    <form name="insNe" id="insNe" method="post" action="">
        <div style="width:285px; height:22px; text-align:right; margin-left:4px;">
         <font class="dix blanc gras">PRISE EN CHARGE<font class="rouge gras arial"> * </font>:</font>
         <input type="radio" name="pec" value="1" style="vertical-align:middle;"
                    onclick="aff_div(this, document.getElementById('depVilleRam'));" /><font class="dix bleu gras">&nbsp;OUI</font>
         <input type="radio" name="pec" value="0" style="vertical-align:middle;"
                    onclick="aff_div(this, document.getElementById('depVilleRam'));"
                    checked="checked" /><font class="dix bleu gras">&nbsp;NON</font>
        </div>
        <div     id="depVilleRam"
                style="float:left; width:330px; height:22px; text-align:right; margin-right:20px; display:none;">Ok &ccedil;a fonctionne
        </div>
    </form>


au moins;... dans un 1er temps






 
jeudi 12 mars 2009 à 12:34:11 | Re : fonction avec plusieurs paramètres

Bul3

Membre Club
et... pourquoi passer par une fonction
pour faire un test sur le radio coché ????
fais directement display="none" ou display="block" dans
le onclick !
ce sera encore mieux

jeudi 12 mars 2009 à 12:39:27 | Re : fonction avec plusieurs paramètres

Bul3

Membre Club
Réponse acceptée !

.....
         <input type="radio" style="vertical-align:middle;"
                    onclick="document.getElementById('depVilleRam').style.display='inline';" /><font class="dix bleu gras">&nbsp;OUI</font>
         <input type="radio"style="vertical-align:middle;"
                    onclick="document.getElementById('depVilleRam').style.display='none';"
                    checked="checked" />
.........

jeudi 12 mars 2009 à 15:40:05 | Re : fonction avec plusieurs paramètres

yannus29

Je n'y avais pas pensé... Je vais essayer, si ça fonctionne je me sentirais bien bête parce que je suis la dessus depuis hier midi !
jeudi 12 mars 2009 à 15:51:59 | Re : fonction avec plusieurs paramètres

Bul3

Membre Club
t'inquiète... j'ai souvent fait bien pire ;o(



1 2

Cette discussion est classée dans : fonction, document, if, iddiv, cheminchamp


Répondre à ce message

Sujets en rapport avec ce message

problème fonction javascript [ par abdeslam2009 ] Bonjour, j'ai deux pages web en html consultation_client et article_consult dans la première page (consultation_client) j'ai créé des champs ,des Fonction avec boucle for qui ne marche pas [ par toons43 ] Bonjour à tous,J'ai un souci avec une fonction que j'ai crée, c'est une fonction qui me permet de zoomer des thumbnails (6 en tout) en changeant le co Problème avec IE sur un menu + parent.frame [ par tipouic ] Bonjours, j'ai repris un vieux menu que j'ai modifié afin de rajouté des onglets de navigation avec des vrais liens dans le menu ( avec target). Par c Bouton image qui appelle une fonction js [ par philreut ] Bonjour, j'ai un formulaire dynamique créé par une fonction js dans lequel je souhaite intégrer une possibilité de supprimer des entrées existantes. Notice Index : probleme récurant [ par klmload ] Bonjour à tous :) Je suis débutant dans les langages du WEB, et suis un étudiant ayant pris une option pour apprendre à créer des site web. Bref, - Fonction [ par scorpion077 ] Bonjour,l'objectif de la fonction suivante est de verifier que au moins un des 3 champ (sexe, region, age (de 'age1' à 'age2')) est rempli.Mon problèm fonction avec en paramétre getElementById [ par kyoku59 ] Bonjour. Je flanche sur un problème surement évident mais impossible de trouver. Voilà j'ai une fonction avec en paramétre des éléments id de mon cod Changer d'image par la fonction document.getElementsByName [ par Aguanz ] Bonsoir à tous, voici mon problème: Je souhaiterai que le change d'image de fond d'écran dès lors que la variable obj soit nulle ou non. Le code so HTMLstr += "<table width='100%' [ par Ketaine ] Bonjour J'ai un problème j'ai récupéré un code pour faire un menu Statique avec un deroulant des menus je mets width 100% et ça me donne qu'une pa probleme controle de saisie avec du javascript dans un formulaire html.php [ par suethi75 ] BonjourJe controle les champs obligatoires dans mon formulaire cependant cela ne marche pas.Voici mon code javascript: function verifForm(){  if (docu


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,390 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales