Liste deroulante

Forum destiné aux questions sur le développement : Formules, LotusScript, Java ...

Liste deroulante

Messagepar JfCt » 17 Nov 2010 à 17:16

Bonjour

J'ai un petit soucis avec une appli notes web (version 6.5.4).
Voila, dans un masque, j'ai un champ texte. Je recupere facilement le texte saisie par l'utilisateur par une fonction de ce style :

function getNom(){
var ref = form.Nom.value;
if (ref != '') return '*********'
return '';
}

Cela fonctionne tres bien (l'action s'excecute en cliquant sur un bouton).

Quand je transforme ce champ en zone de liste deroulante .... ben, cette meme fonction me renvoie ... rien, la variable ref est vide.

La question est donc ... que dois je modifier dans ma fonction (et/ou ailleur dans mon masque) pour avoir dans la variable ref la valeur selectionnee par l'utilisateur dans le champ.

Merci de votre aide.
JfCt
Maître-posteur
Maître-posteur
 
Message(s) : 400
Inscrit(e) le : 01 Mars 2005 à 18:00
Localisation : Paris sud

Messagepar Michael DELIQUE » 17 Nov 2010 à 17:41

salut

petite erreur de section, j'ai déplacé le post

et dans ce tips tu devrais trouver la réponse à ta question => http://forum.dominoarea.org/routine-de- ... 14608.html
Cordialement

Michael (SMS-Phobique)
----------------------------
"La théorie, c'est quand on sait tout et que rien ne fonctionne. La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi."
Albert EINSTEIN
Avatar de l’utilisateur
Michael DELIQUE
Administrateur
Administrateur
 
Message(s) : 12183
Inscrit(e) le : 16 Déc 2004 à 10:36
Localisation : Paris/Cergy

Messagepar JfCt » 17 Nov 2010 à 17:55

Bonjour

Il me semblait bien place ... dans le forum javascript ... car cela concerne une question justement ... javascript.
Mais bon, c'est pas grave, juste dis moi ou tu as mis ma question .. que je la retrouve ..
Merci
JfCt
Maître-posteur
Maître-posteur
 
Message(s) : 400
Inscrit(e) le : 01 Mars 2005 à 18:00
Localisation : Paris sud

Messagepar JfCt » 17 Nov 2010 à 18:16

Bonsoir

Ok, j'ai retrouve ma question ....

Bon, dans le lien que tu me donnes, il y a pas tout a fait ce que je recherche :

case "select-one":
// Test l'index de la liste
if (RecupElements[i].selectedIndex == -1 || RecupElements[i].selectedIndex == 0) {
alert(Cor_MessageChamps(RecupElements[i].name));
IsCorrect = false;
}
break;

La ligne RecupElements[i].name me donne (sauf erreur de ma part) le nom du champ, mais pas la valeur, son contenu.
Moi de que je recherche, c'est justement le contenu du champ, a savoir la valeur selecteionnee par l'utilisateur dans la liste deroulante.
Merci
JfCt
Maître-posteur
Maître-posteur
 
Message(s) : 400
Inscrit(e) le : 01 Mars 2005 à 18:00
Localisation : Paris sud

Messagepar roubech » 17 Nov 2010 à 20:17

bonjour,

il ne s'agit pas d'une question spécifique à Lotus, c'est une question JavaScript "classique". une petite recherche sur Goolgle te retourne plein de page
une au hasard : http://dev.petitchevalroux.net/javascri ... pt.16.html

une autre page plus complète : http://javascript.developpez.com/faq/?page=formChamps
Avatar de l’utilisateur
roubech
Modérateur
Modérateur
 
Message(s) : 4976
Inscrit(e) le : 01 Fév 2007 à 20:22
Localisation : Lille

Messagepar Michael DELIQUE » 17 Nov 2010 à 23:27

re,

tu as posté dans les trucs et astuces rien de bien méchant
Cordialement

Michael (SMS-Phobique)
----------------------------
"La théorie, c'est quand on sait tout et que rien ne fonctionne. La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi."
Albert EINSTEIN
Avatar de l’utilisateur
Michael DELIQUE
Administrateur
Administrateur
 
Message(s) : 12183
Inscrit(e) le : 16 Déc 2004 à 10:36
Localisation : Paris/Cergy

Messagepar JfCt » 18 Nov 2010 à 18:54

Bonsoir

Ok, pas de soucis .... je ferai gaffe la prochaine fois.
Pour le reste, avec mon probleme de liste, je vais me debrouiller tout seul, les liens que tu donnes apportes des infos, mais ca marche pas tres bien!
Salut
JfCt
Maître-posteur
Maître-posteur
 
Message(s) : 400
Inscrit(e) le : 01 Mars 2005 à 18:00
Localisation : Paris sud

Messagepar Michael DELIQUE » 18 Nov 2010 à 22:48

on va pas te laisser tomber,

ou est le problème
Cordialement

Michael (SMS-Phobique)
----------------------------
"La théorie, c'est quand on sait tout et que rien ne fonctionne. La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi."
Albert EINSTEIN
Avatar de l’utilisateur
Michael DELIQUE
Administrateur
Administrateur
 
Message(s) : 12183
Inscrit(e) le : 16 Déc 2004 à 10:36
Localisation : Paris/Cergy

Messagepar seroa » 19 Nov 2010 à 08:57

Salut,

Tu as essayé :

Document.getElementById('idListeDeroulante').options[Document.getElementById('idListeDeroulante').selectedIndex].text

Essai d'inclure prototype.js dans ton masque, tu pourras remplacer :


Document.getElementById('idListeDeroulante')

par

$('idListeDeroulante')
seroa
Posteur expérimenté
Posteur expérimenté
 
Message(s) : 304
Inscrit(e) le : 08 Nov 2007 à 08:36
Localisation : Mâcon

Messagepar JfCt » 25 Nov 2010 à 11:30

Bonjour

Ok, c'est bon, cela fonctionne.

Avec quelque chose de ce style dans la fonction javascript :

x=elements[i].selectedIndex;
var ref1=elements[i].options[x].text;

Attention, car il y a 2 possibilites :

var ref1=elements[i].options[x].text;
var ref1=elements[i].options[x].value;

Avec .value, cela fonctionne avec chrome, firefox ... mais pas avec IE (6, 7 .. 8)
avec .text, cela fonctionne avec tous les navigateurs.

PS : avec getElementById, j'ai eu des erreurs, donc j'ai chercher autre chose.
JfCt
Maître-posteur
Maître-posteur
 
Message(s) : 400
Inscrit(e) le : 01 Mars 2005 à 18:00
Localisation : Paris sud

Messagepar Michael DELIQUE » 25 Nov 2010 à 11:36

salut

tuas eu des erreur avec getElementById !!!!

dans quelle context ?
Cordialement

Michael (SMS-Phobique)
----------------------------
"La théorie, c'est quand on sait tout et que rien ne fonctionne. La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi."
Albert EINSTEIN
Avatar de l’utilisateur
Michael DELIQUE
Administrateur
Administrateur
 
Message(s) : 12183
Inscrit(e) le : 16 Déc 2004 à 10:36
Localisation : Paris/Cergy

Messagepar JfCt » 25 Nov 2010 à 12:02

Bonjour

Heu .. j'ai plus le message en tete, mais j'ai laisse tombe.
Je precise que je suis en 6.5.4 .... ceci explique peut etre cela.
Le principal ... ca marche maintenant.
JfCt
Maître-posteur
Maître-posteur
 
Message(s) : 400
Inscrit(e) le : 01 Mars 2005 à 18:00
Localisation : Paris sud

Messagepar roubech » 25 Nov 2010 à 20:36

différence entre .value et .text
dans Notes, quand tu alimentes ta liste de choix, tu as la possibilité de mettre "des alias"
choix1|alias1
choix2|alias2
choix3|alias3
et bien ces choix seront repris côté web dans les option du select
les alias dans value et le libellé du choix dans text
et ce qui est enregistré dans le doc, en notes comme en web, c'est l'alias.
dans le cas ou tu ne spécifie pas explicitement un alias, Domino reprendra le texte sauf s'il y a des caractères accentués, alors il encodera le texte pour le mettre dans value (mais ce sera bien el texte qui sera enregistré dans le doc). Donc en web, toujours mettre un alias et traivailler sur les value si tu veux vérifier que le user a coché telle ou telle option
Avatar de l’utilisateur
roubech
Modérateur
Modérateur
 
Message(s) : 4976
Inscrit(e) le : 01 Fév 2007 à 20:22
Localisation : Lille

Messagepar JfCt » 26 Nov 2010 à 14:32

Bonjour

Merci pour ces infos.

Alors, dans le champ notes, j'ai pas d'alias.
J'ai eu un probleme d'accent en effet, certaines valeurs de ma liste comportant des accents. En utilisant .value, je recuperais pas la valeur selectionnee. Avec .text, il semble que plus de probleme, je retrouve bien la bonne veleur.
En tout cas, pour moi cela fonctionne sans alias dans le champ, et en utilisant .text.
Si j'ai un peu de temps, je testerai avec des alias ......
JfCt
Maître-posteur
Maître-posteur
 
Message(s) : 400
Inscrit(e) le : 01 Mars 2005 à 18:00
Localisation : Paris sud


Retour vers Développement