Page 1 sur 1

Liste deroulante

MessagePublié: 17 Nov 2010 à 17:16
par JfCt
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.

MessagePublié: 17 Nov 2010 à 17:41
par Michael DELIQUE
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

MessagePublié: 17 Nov 2010 à 17:55
par JfCt
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

MessagePublié: 17 Nov 2010 à 18:16
par JfCt
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

MessagePublié: 17 Nov 2010 à 20:17
par roubech
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

MessagePublié: 17 Nov 2010 à 23:27
par Michael DELIQUE
re,

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

MessagePublié: 18 Nov 2010 à 18:54
par JfCt
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

MessagePublié: 18 Nov 2010 à 22:48
par Michael DELIQUE
on va pas te laisser tomber,

ou est le problème

MessagePublié: 19 Nov 2010 à 08:57
par seroa
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')

MessagePublié: 25 Nov 2010 à 11:30
par JfCt
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.

MessagePublié: 25 Nov 2010 à 11:36
par Michael DELIQUE
salut

tuas eu des erreur avec getElementById !!!!

dans quelle context ?

MessagePublié: 25 Nov 2010 à 12:02
par JfCt
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.

MessagePublié: 25 Nov 2010 à 20:36
par roubech
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

MessagePublié: 26 Nov 2010 à 14:32
par JfCt
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 ......