begin process at 2012 05 30 04:29:12
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Javascript / DHTML / Ajax

 > 

JavaScript Orienté objet (POO)

 > 

Divers

 > 

total novice en javascript...


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

total novice en javascript...

jeudi 14 février 2008 à 11:06:08 | total novice en javascript...

M000004965

Bonjour à tous,

Je ne connaît absolument pas javascript,
j'ai trouvé le code ci-dessous pour me permettre de récupérer des valeurs dans un formulaire contenant des listes de type select.
(je n'ai pas réussi en php)

<script language="javascript">
<!--
function chang() //fonction qui affichera le texte
{
var Chaine;
Chaine = document.form1.liste.options //on spécifie la liste a traiter
[document.form1.liste.selectedIndex].text;//on récupere le texte de cette liste
document.form1.textfield.value = Chaine.valueOf();//on met ce texte dans un champ texte
div_test.innerHTML = Chaine.valueOf();//on modifie le texte dans le div nommé div_test
}
-->
</script>

<form name="form1" method="post" action="">
  <p>

    <select name="liste" onChange="chang();">
      <option value=\"\">Sélectionner élément</option>
      <option value=\"1\">a</option>
      <option value=\"2\">b</option>
      <option value=\"3\">c</option>
      <option value=\"4\">d</option>
    </select>

    <br>
    <input type="text" name="textfield" value="aaaaaa">
</p>
  <p>
<div id="div_test"></div>

ma question est la suivante :
comme mon formulaire contien plusieurs listes, est-ce que je doit dupliquer et adapter autant de fois la fonction que j'ai de liste ou comment est-il possible d'avoir une seule fonction pour toutes les listes sans tenir compte  de leurs noms

par anticipation, question suivante,
j'ai 1 liste multiple, comment je dois opérer pour récupérer les sélections de l'utilisateur

D'avance merci pour votre aide (j'espère avoir posté au bon endroit)

Autodidact, je ne demande qu'à apprendre... Merci de votre aide
jeudi 14 février 2008 à 11:18:05 | Re : total novice en javascript...

maelob

Membre Club
Réponse acceptée !
Bonjour

ma question est la suivante :
comme mon formulaire contien plusieurs listes, est-ce que je doit dupliquer et adapter autant de fois la fonction que j'ai de liste ou comment est-il possible d'avoir une seule fonction pour toutes les listes sans tenir compte  de leurs noms


Il te suffit juste de faire passer en parametre le nom de tes selects dans la fonction (chang(nom1), chang(nom2)...).

Si la fonction est appellé dans le onSubmit du form, la ça se complique un peu car il faut récuperer les noms de tout tes selects pour les tester (dans un tableau par exemple) et tester chaque select. Si je suis pas assez clair hesite pas.

Elo
jeudi 14 février 2008 à 11:26:49 | Re : total novice en javascript...

bultez

Membre Club
Réponse acceptée !


Bonjour,


    si c'est pour transmettre au php, il n'y a rien à faire coté html/javascript.
    toutes les value des éléments qui ont un name sont transmises.

    ici donc $_POST["liste"] ce sera le value de l'option sélectionnée




                Cordialement            Bul         «mon Site»     «M'écrire»
jeudi 14 février 2008 à 13:35:36 | Re : total novice en javascript...

M000004965

merci les p'ti loups,

dans l'immédiat, j'ai dupliqué, je vais tester la soluce de maelob quand j'aurai réglé mon problème initiale.

je m'explique:
en fait je suis en galère parce que je procède comme suit:

1) je construit ma page de filtre, les listes sont construitent dynamiquement avec MySQL dans un objet FORM de type :

<form method="post" name="filtres" action="" onsubmit="AppliqFiltres($Flt_lst_cps.......)">';

2) lors de la création dynamique des listes, je définis un select par défault avec 'selected'
3) DANS LA MEME page, j'affiche le résultat. (au premier chargement de la page, comme l'utilisateur n'a pas encore opéré de choix, ma requete est donc select * from table et le résultat s'affiche). Le but est que l'utilisateur affine ce résultat en opérant des choix dans les listes de filtre.
4) l'utilisateur fait ces choix et clic sur le bouton de commande de type :

echo '<input name="Filtrer" type="Submit" value="Filtrer">';

5) je récupère les valeurs via : (effectivement BULTEZ , merci)

if (isset($_POST['lst_cps']))
{
  $Flt_lst_cps = $_POST['lst_cps'];
  $id_lst_cps = $_POST['textfieldcps'];
  //$Flt_ID_lst_cps = $_POST['document.lst_cps.id'];
  //$Filtre1 = filtres.lst_cps.value;
  //echo $Filtre1.' !!! <br>';
  //echo $Flt_lst_cps.'<br>';
  //echo $Flt_ID_lst_cps.'<br>';
     if ($Flt_lst_cps == '-')
     {
        $Flt_lst_cps ="%";
     }
  }
  else {
       $Flt_lst_cps ="%";
}

(je vérifie si $_POST['lst_cps'] existe car au premier chagement de la page ce n'est pas le cas)

et c'est là que ça se corse...

à ce moment là, il me réaffiche la page complète avec le résultat voulu, les filtres sont bien appliqués mais les listes sont réinitialisées et donc elles n'affichent plus le ou les choix des utilisateurs.

c'est pour cette raison que je me suis tourné vers l'éventualité d'ajouter du javascript, pour replacer les choix des utilisateurs.

j'ai retouché le code que j'avait trouvé par:


echo 'function changCPS()';
echo '{';
echo 'var Chaine;';
echo 'Chaine = document.filtres.lst_cps.options'; //on spécifie la liste a traiter
//echo '[document.filtres.lst_cps.selectedIndex].value;'; //on récupere le texte de cette liste
echo '[document.filtres.lst_cps.selectedIndex].id;'; //on récupere l' id sélectionné
//echo 'document.filtres.textfieldcps.value = Chaine.valueOf();'; //on met ce texte dans un champ texte
echo 'document.filtres.textfieldcps.value = [document.filtres.lst_cps.selectedIndex];'; //on met l' id dans un champ texte
echo '}';

ce qui me permet de récupérer aussi l' id de la liste. Mais je ne suis pas plus avancé, je ne parviens pas à replacer la liste sur les choix faits par l'utilisateur.
pour info mes listes sont créées comme suit:

          print "CPS demandeur<br>
            <select name='lst_cps' onChange='changCPS();'>
                    <option id='0' value='-' selected >NC</option>";
                    $slq = mysql_query('SELECT * FROM `cps`');

                    $i=0;
                    while ($donnees = mysql_fetch_array($slq) )
                    {
                       $CritereFiltreCPS = $donnees['cpsvalue'];
                       $i++;
                       echo '<option id="'.$i.'" value="'.$donnees['cpsvalue'].'" >'.$donnees['cpsname'].'</option>';
                    }
          print "</select><br><br>

en revanche, merci, je récupère bien les choix qui me permettent de définir avec précision ma requete SQL et ainsi affiner le résultat.

Pour mon principal soucis (dessus depuis 2 jours!) est ce que javascript peux m'aider ou est ce que c'est l'architecture de page qui merdouille ?

je me demande si je ne dois pas casser ma page en deux et ajouter un include en fonction d'une variable initialisé à 0:
L' include aurai pour objectif de construire les listes dynamiques au 1er chargement

0 = c'est la première fois que la page est chargée, j'app l'include
1 = la page est rechargée parce que l'utilisateur à opéré un premier  filtrage et donc pas d'include

Qu'en pensez vous?


Autodidact, je ne demande qu'à apprendre... Merci de votre aide
jeudi 14 février 2008 à 13:44:44 | Re : total novice en javascript...

bultez

Membre Club
Réponse acceptée !

trop long... pas tout compris...

>>à ce moment là, il me réaffiche la page complète avec le résultat voulu, les filtres sont bien appliqués
>>mais les listes sont réinitialisées et donc elles n'affichent plus le ou les choix des utilisateurs.
    ben... tu as tout reçu en php, "il suffit" d'ajouter le selected sur la
       bonne option quand on recrée la page.

>>c'est pour cette raison que je me suis tourné vers l'éventualité d'ajouter du javascript,
>>pour replacer les choix des utilisateurs.
    on peut ausi...
    "il suffit", lorsque le select est affiché, de faire
        select_en_question.selectedIndex=n° de l'option sélectionnée à "l'étape" prédédente


                Cordialement            Bul         «mon Site»     «M'écrire»
jeudi 14 février 2008 à 13:49:06 | Re : total novice en javascript...

maelob

Membre Club
Réponse acceptée !
Tu as tout reçu avec php donc a l'affichage tu teste si tu as $_POST... si tu l'as ben tu fais en sorte de mettre le bon selected a la bonne option et si tu as rien dans $_POST tu affiche la liste normalement.
jeudi 14 février 2008 à 13:49:39 | Re : total novice en javascript...

maelob

Membre Club
Je me suis faite grillée par Bultez :D
jeudi 14 février 2008 à 14:32:06 | Re : total novice en javascript...

bultez

Membre Club
Réponse acceptée !



>> Je me suis faite grillée par...
    ah non maelob ! codesSources est un  lieu public !
       et en griller une est strictement défendu par la loi !

    au fait, maelob : t'es une nana ? si oui : bienvenue !
          les intervenantes sont plutôt rares... hélas.
          ( si non, bienvenu aussi )

                Cordialement            Bul         «mon Site»     «M'écrire»
jeudi 14 février 2008 à 14:33:02 | Re : total novice en javascript...

M000004965

merci à vous,

à force de me retourner le cerveau pour apprendre, comprendre et solutionner, je ne sais plus où j'habite
merci à vous

Autodidact, je ne demande qu'à apprendre... Merci de votre aide
jeudi 14 février 2008 à 14:37:44 | Re : total novice en javascript...

bultez

Membre Club
Réponse acceptée !
>>je ne sais plus où j'habite
    on est tous des SDF.  
    si c'est résolu : nickel.

                Cordialement            Bul         «mon Site»     «M'écrire»

1 2

Cette discussion est classée dans : javascript, texte, chaine, liste, listes


Répondre à ce message

Sujets en rapport avec ce message

puce dans javascript [ par spacecool ] je cherche un moyen d'écrire dans un editeur de texte fait en javascript, des puces et des numérotations. Je possède un code (que j'ai trouvé ici d'ai Comparaison entre deux listes box [ par weibechr ] Bonjour,j'aimerais savoir comment faire simplement une comparaison entre deux listes box,ex: liste1 je sélection le texte C liste 2 le texte D Ré Formaulaire PHP, JavaScript [ par bzhrobby ] Bonjour, je n'ai encore jamais codé en JavaScript mais je "connait" PHP, HTML et le C.Voici mon problème:J'ai une liste déroulante qui contient plusie pb lier 3 listes déroulantes javascript [ par ronaldo1920 ] Bonjour tout le monde,  Je n'arrive pas à lier 3 listes déroulantes en javascript.. j'ai trouvé à plusieurs reprises des liaisons pour 2 listes déroul texte initial dans un champ "input" [ par aztec78 ] bonjour,voici mon problème :j'ai un petit programme en javascript qui transforme un texte d'un formulaire en zone de texte à modifier lorsque l'on cli fonction en javascript ? [ par ghaniacha ] bonjour j'ai une page jsp qui contient une liste et un editeur de texte, je veux a chaque fois que je clique sur un element selectionné de la liste, j imprimer un texte avec Javascript [ par djilou123 ] Bonjour,Peut-on envoyer un fichier texte avec du javascript sur un port LPT1 ( comme la commande MS DOS  Copy nomfichier.txt LPT1: ).Merci par avance afficher une liste deroulante, via une zone de texte [ par annjey ] Bonjour,Je suis nulle en JS, quelqu'un pourrait m'aider?Voilà mon problème, je souhaiterai afficher une liste deroulante des villes en saisissant just Affichage d'une image dans un autre cadre en xhtml - css - javascript [ par Hackers50 ] Bonjour à tous,Ca fait maintenant quelque jour que je cherche une solution à mon problème et j'espère que ce forum où de moins vous pourrez m'aider.Vo Formulaire interactif [ par Ankaa1988 ] Bonjour a tous,je voudrais creer un formulaire "interactif"en fait, il se composerait d'une liste déroulante (ex: 1 puis 2 etc)et d'un champs de texte


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

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,811 sec (3)

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