Page 1 sur 1

Liste déroulante allimentée par SQL et recupération du choix

MessagePublié: 26 Jan 2011 à 10:41
par Rubixcube
Bonjour,

Dans un environnement web :

Je rempli (dans un formulaire mode "Edition") une liste déroulante (id='service') avec le résultat d'une requete SQL server.

Le hic, c''est la récupération du choix fait dans cette liste.
J'utilise l'évenement javascript onChange pour récupérer le choix fait:

var i=document.getElementById('service').selectedIndex;
var valeurService=document.getElementById('service').options[i].text;

document.getElementById('Recup_service').value=valeurService;

avec <input>

Lorsque j'ouvre le formulaire en mode "lecture".
la "value" de Recup_service est "". Ce qui ne m'étonne pas.
Pour que cela fonctionne il faudrait que je place la valeur récupérée par le onChange dans un champs Lotus.
Mais si je place un tel champs et que je le masque, je n'arrive pas à l'atteindre en javascript.
En fait en web, les champs lotus masqués ne figure pas dans le source de la page html générée.

Si j'utilise un champs calculé, il m'affiche le résultat de la requête SQL qui rempli la liste déroulante ( c'est à dire tout les services disponibles).

Je ne sais pas si je suis très clair.

MessagePublié: 26 Jan 2011 à 11:35
par Michael DELIQUE

MessagePublié: 26 Jan 2011 à 11:49
par Rubixcube
Merci pour ce lien.
oui, en effet ce lien explique comment :

à partir d'un champs notes caché contenant des données les afficher dans un un <input>

mais pour ma part, je cherche à écrire dans un champs notes caché des données via javascript.
mais ce champs n'est pas atteignable.
Avec un agent et webQuerySave je n'arrive pas non plus car je dois lié un champs html (<select>) et un champs Notes.

MessagePublié: 26 Jan 2011 à 13:37
par Michael DELIQUE
ben si tu écrit dans le input html

MessagePublié: 26 Jan 2011 à 14:00
par Rubixcube
j'ai ensuite besoin d'avoir accès à cette donnée (via un champ notes) par le biais d'une vue. Et je ne pense pas qu'y soit possible d'atteindre les données d'un input dans la colonne d'une vue.

MessagePublié: 26 Jan 2011 à 14:02
par Michael DELIQUE
si le input a le meme nom que ton champ caché normalement ça pose pas de souci

MessagePublié: 26 Jan 2011 à 17:06
par Rubixcube
le problème, c'est que avec :

document.getElementById('Recup_service').value=valeurService;

j'affecte bien la valeur au <input> mais lorsque je réouvre le document, la valeur n'a pas été enregistrée !

MessagePublié: 26 Jan 2011 à 20:52
par roubech
j'ai du rater un truc, car je ne vois pas ce qui pose pb, pourquoi tu dois passer par du JS ...
tu créés ton champ "service" normalement, de type liste de dialogue, tu met ta formule pour récupérer la liste de choix. Quand le masque est ouvert en edition, tu as un select de généré et qi l'utilisateur choisit une valeur, à l'enregistrement, Domino va mettre la valeur choisie dans le champ "service"
si tu ouvres le doc créé en lecture, le contenu du champ Notes "service" sera affiché. pas de JS et pas besoin de tag input en lecture.

MessagePublié: 27 Jan 2011 à 10:07
par Rubixcube
Exact Roubech, en fait mauvais paramétrage de ma dialog list :

solution :
=> DbCommand avec SQL dans onglet conception choix via formule (et non dans valeur du champ)
=> décocher valeurs multiples
et zou

j'ai bien tourné en rond sur ce coup là.

merci pour votre aide