Welcome, Guest
Username: Password: Remember me
  • Page:
  • 1
  • 2

TOPIC: Pre remplir depuis une table d'invitation

Pre remplir depuis une table d'invitation 5 months 2 weeks ago #104605

  • gabriel
  • gabriel's Avatar
  • OFFLINE
  • Senior Lime
  • Posts: 45
  • Thank you received: 4
  • Karma: 2
Bonjour à tous,

Je dispose d'un questionnaire dont :

surveyid : 914725
gid : 951
qid : 19224 de type "Multiples zones de texte court". Les id des sous-questions sont SQ001, SQ003, SQ003 et SQ004

Au l’exécution du questionnaire je souhaite que les sous-questions SQ001, SQ003 et SQ003 se remplissent depuis les champs de la table d'invitations. Ceci marche sans problème avec l'intégration de java script dans la source de la question et avec des codes comme
$('#answer914725X951X19224SQ002').val('{TOKEN:EMAIL}');

Mais étant donnée que je donne aux répondants la possibilité de revenir plus tard sur ces champs pour les mettre à jour, je rencontre maintenant un problème car, à chaque chargement du questionnaire, les valeurs, mises à jour par les répondants, sont remplacées par les valeurs par défaut, c-a-d, les valeurs issues de la table d'invitations.

Avez-vous une solution qui me permettrait de dire, lors de rechargement du questionnaire par le répondant : "si les champs SQ001, SQ002 et SQ003 sont vides alors les pre-remplir par les valeurs issues des invitations sinon afficher les valeurs saisies par le répondant" ?

J'espère que ma question est claire.
Cordialement,

PS. J'utilise la version 2.00+ Build 131206
Last Edit: 5 months 2 weeks ago by gabriel.
The administrator has disabled public write access.

Pre remplir depuis une table d'invitation 5 months 2 weeks ago #104610

  • Nickko
  • Nickko's Avatar
  • NOW ONLINE
  • LimeSurvey Team
  • Posts: 2048
  • Thank you received: 246
  • Karma: 53
Ajoute une condition dans ton jacascript pour tester si le champ est vide et ne modifie le champ que s'il l'est
Nickko
Ergonome / Usability expert
The administrator has disabled public write access.

Pre remplir depuis une table d'invitation 5 months 2 weeks ago #104611

  • gabriel
  • gabriel's Avatar
  • OFFLINE
  • Senior Lime
  • Posts: 45
  • Thank you received: 4
  • Karma: 2
Nickko wrote:
Ajoute une condition dans ton jacascript pour tester si le champ est vide et ne modifie le champ que s'il l'est
Ce que j'essaie de faire depuis ce matin mais sans succès ! :blush:
The administrator has disabled public write access.

Pre remplir depuis une table d'invitation 5 months 2 weeks ago #104613

  • Nickko
  • Nickko's Avatar
  • NOW ONLINE
  • LimeSurvey Team
  • Posts: 2048
  • Thank you received: 246
  • Karma: 53
Moi j'essaierais un truc du genre (mais je n'y connais rien en Jquery). if($('#answer914725X951X19224SQ002').val()!=""){$('#answer914725X951X19224SQ002').val('{TOKEN:EMAIL}');}
Nickko
Ergonome / Usability expert
Last Edit: 5 months 2 weeks ago by Nickko.
The administrator has disabled public write access.

Pre remplir depuis une table d'invitation 5 months 2 weeks ago #104614

  • gabriel
  • gabriel's Avatar
  • OFFLINE
  • Senior Lime
  • Posts: 45
  • Thank you received: 4
  • Karma: 2
Nickko wrote:
Moi j'essaierais un truc du genre (mais je n'y connais rien en Jquery). if($('#answer914725X951X19224SQ002').val()!=""){$('#answer914725X951X19224SQ002').val('{TOKEN:EMAIL}');}

Non, ça ne fonctionne pas :(
The administrator has disabled public write access.

Pre remplir depuis une table d'invitation 5 months 2 weeks ago #104615

  • Nickko
  • Nickko's Avatar
  • NOW ONLINE
  • LimeSurvey Team
  • Posts: 2048
  • Thank you received: 246
  • Karma: 53
tu as essayé de débugguer avec des "alert" ?

genre alert($('#answer914725X951X19224SQ002').val()) retourne quoi ?
Nickko
Ergonome / Usability expert
The administrator has disabled public write access.
The following user(s) said Thank You: gabriel

Pre remplir depuis une table d'invitation 5 months 2 weeks ago #104617

  • gabriel
  • gabriel's Avatar
  • OFFLINE
  • Senior Lime
  • Posts: 45
  • Thank you received: 4
  • Karma: 2
le code
$('#answer914725X951X19224SQ002').val('{TOKEN:FIRSTNAME}');
alert($('#answer914725X951X19224SQ002').val());

m'affiche le prénom ! à priori mon code java script fonctionne comme indiqué dans mon premier message !
The administrator has disabled public write access.

Pre remplir depuis une table d'invitation 5 months 2 weeks ago #104633

  • Nickko
  • Nickko's Avatar
  • NOW ONLINE
  • LimeSurvey Team
  • Posts: 2048
  • Thank you received: 246
  • Karma: 53
Il affiche dans une boite de dialogue ou dant la question ?
Si tel est le cas, il faut continuer comme ça a coup d'alert et pas-à-pas.
Nickko
Ergonome / Usability expert
The administrator has disabled public write access.

Pre remplir depuis une table d'invitation 5 months 2 weeks ago #104687

  • gabriel
  • gabriel's Avatar
  • OFFLINE
  • Senior Lime
  • Posts: 45
  • Thank you received: 4
  • Karma: 2
Ton code avec if n'a pas marché ! Mais en mettant $('#answer914725X951X19224SQ002').val(); dans une variable ça a finalement marché ! Voici ce que j'ai mis :
var prenom = $('#answer914725X951X19224SQ002').val();
 
if(prenom == ''){
alert('je suis dedans car le champs Prenom est vide');
$('#answer914725X951X19224SQ002').val('{TOKEN:FIRSTNAME}');
}
else{
alert('pas de besoin Prenom est déjà renseigné');
}

Cordialement,
Last Edit: 5 months 2 weeks ago by gabriel.
The administrator has disabled public write access.

Pre remplir depuis une table d'invitation 5 months 2 weeks ago #104690

  • DenisChenu
  • DenisChenu's Avatar
  • OFFLINE
  • Moderator Lime
  • Posts: 6195
  • Thank you received: 786
  • Karma: 238
Salut,

et si tu est dans le texte de la question:
var prenom = $('#answer{SGQ}SQ002').val();
 
if(prenom == ''){
alert('je suis dedans car le champs Prenom est vide');
$('#answer{SGQ}SQ002').val('{TOKEN:FIRSTNAME}');
}
else{
alert('pas de besoin Prenom est déjà renseigné');
}
Mais la dernière version accepte directement les valeurs par défaut dans les sous question de type texte. C'est core mieux.
Tu es sur quelle version ?

Denis
PS: {SGQ} va être directement transformé par 914725X951X19224, et si on copie le questionnaire, reprendras le nouveau code INSERTANS.
Last Edit: 5 months 2 weeks ago by DenisChenu.
The administrator has disabled public write access.
  • Page:
  • 1
  • 2
Moderators: Nickko
Time to create page: 0.267 seconds
Donation Image