Javascript : condition sur valeur champ numérique

More
4 years 7 months ago #84405 by AnneLaurence
Bonjour,

Je suis en train d'essayer d'intégrer du javascript à mon questionnaire pour masquer certaines sous-questions en fonction de la valeur d'un champ numérique renseigné précédemment par l'utilisateur
(voir message : [url= http://www.limesurvey.org/forum/french-forum/81591-pre-remplissage-de-reponse-avec-question-precedente?lang=fr#81692 ).

J'ai essayé avec ça (juste pour une ligne):
<script type="text/javascript" charset="utf-8">
function Test()
{
   if (({INSERTANS:86716X155X3663}<=9))
   {
     $("#javatbd86716X155X367310").hide();
   }
}
</script>

mais ça ne marche pas. J'ai essaye la fonction hide() seule et cela fonctionne.
Le problème doit donc venir de ma condition, mais je ne sais pas comment la modifier (j'ai aussi essayé ((86716X155X3663.NAOK<="9")), mais ça n'est pas bon non plus).

Pourriez-vous m'aider s'il vous plaît ?

Par avance, merci.

Please Log in to join the conversation.

More
4 years 7 months ago #84406 by DenisChenu
Salut,

Et si tu fait:
<script type="text/javascript" charset="utf-8">
$(document).ready(function(){
{
   if (({INSERTANS:86716X155X3663}*1<=9))
   {
     $("#javatbd86716X155X367310").hide();
   }
}
</script>

?

Assistance on LimeSurvey forum and LimeSurvey core development are on my free time.
I'm not a LimeSurvey GmbH member, professional service on demand (or search sondages pro).
An error happen ? Before make a new topic : remind the Debug mode .

Please Log in to join the conversation.

More
4 years 7 months ago #84408 by AnneLaurence
Merci de ta réponse rapide.
Non ça ne marche pas non plus.

Faudrait-il utiliser à la place de {INSERTANS:999999}, une syntaxe utilisant #answer99999 ?

Please Log in to join the conversation.

More
4 years 7 months ago #84412 by DenisChenu
Salut,

Avec la 1.92, tu peux utiliser quelquechose du type {QCODE.NAOK}.

Sinon: un lien de test ?

Denis

Assistance on LimeSurvey forum and LimeSurvey core development are on my free time.
I'm not a LimeSurvey GmbH member, professional service on demand (or search sondages pro).
An error happen ? Before make a new topic : remind the Debug mode .

Please Log in to join the conversation.

More
4 years 7 months ago #84414 by AnneLaurence
Ça ne marche pas non plus...
Le lien : sondage.cemagref.fr/index.php?sid=86716&lang=fr
C'est en page [9/9] (je ne sais pas comment envoyer un lien direct vers cette page ?).
Merci !

Please Log in to join the conversation.

More
4 years 7 months ago #84415 by DenisChenu
Salut,

Un coup de console javascript ;)
<script type="text/javascript" charset="utf-8">
$(document).ready(function(){
{
   if ({INSERTANS:86716X155X3663}*1<=9)
   {
     $("#javatbd86716X155X367310").hide();
   }
});
</script>

De plus, il faut revoir le {INSERTANS:86716X155X3663}, il n'est pas valide. Remet le de nouveau avec l'éditeur et n'hésite pas à prendre les CODE des questions. ( et à éviter les codes commençant par un nombre et les . dans les codes).

Denis

(il y a peut être autre chose, mais dans un premier temps :).

Assistance on LimeSurvey forum and LimeSurvey core development are on my free time.
I'm not a LimeSurvey GmbH member, professional service on demand (or search sondages pro).
An error happen ? Before make a new topic : remind the Debug mode .

Please Log in to join the conversation.

More
4 years 7 months ago #84419 by AnneLaurence
Merci.

J'ai essayé avec le code de la question (que j'ai changé), mais ça ne marche toujours pas...
<script type="text/javascript" charset="utf-8">
$(document).ready(function(){
if (({membres.NAOK}<=9))
{
$("#javatbd86716X155X367310").hide();
}
}); 
</script>

Avec ce code, la ligne est toujours masquée même lorsque je rentre la valeur 10...

De plus, Expression Manager ne fonctionne pas pour moi (problème du serveur que je n'administre pas), donc pas moyen de construire mes expressions en passant par là.

Une dernière idée ?

Please Log in to join the conversation.

More
4 years 7 months ago - 4 years 7 months ago #84425 by DenisChenu
Ah oui,

OK , ca va être plus hardu.

L'Expression Manager fonctionne bien, par contre comme c'est sur la même page, tu ne peux inclure directement la valeur dans la script.

Ici, ton champs est identifié via answer86716X155X3663

Donc un truc du genre:
<script type="text/javascript" charset="utf-8">
$(document).ready(function(){
  $("#answer86716X155X3663").blur(function(){
    if (($(this).val()<=9))
    {
      $("#javatbd86716X155X367310").hide();
    }
  });
}); 
</script>

Assistance on LimeSurvey forum and LimeSurvey core development are on my free time.
I'm not a LimeSurvey GmbH member, professional service on demand (or search sondages pro).
An error happen ? Before make a new topic : remind the Debug mode .
Last Edit: 4 years 7 months ago by DenisChenu. Reason: code and "

Please Log in to join the conversation.

More
4 years 7 months ago #84434 by AnneLaurence
Merci encore, mais malheureusement ça ne marche toujours pas..
Ce qui est bizarre c'est que j'ai essayé en copiant la question dans un groupe différent donc sur une page suivante, et ça ne marche pas non plus.

Please Log in to join the conversation.

More
4 years 7 months ago #84437 by DenisChenu
Salut,

Attention à modifier les numéros sur un nouveau questionnaire, il faut changer:
#answer86716X155X3663
et
#javatbd86716X155X367310

en fonction des valeurs réelles.

Sur le lien de test, j'ai toujours le (<span id='LEMtailor_Q_3673_173'></span>*1<=9)

Dons pas de modification.

Sinon, je peux intervenir au ticket sur des questionnaire en cours pour résoudre ce genre de situation : www.sondages.pro/contact.html

Denis

Assistance on LimeSurvey forum and LimeSurvey core development are on my free time.
I'm not a LimeSurvey GmbH member, professional service on demand (or search sondages pro).
An error happen ? Before make a new topic : remind the Debug mode .

Please Log in to join the conversation.

Moderators: Nickko