Willkommen, Gast
Benutzername: Passwort: Angemeldet bleiben:
  • Seite:
  • 1
  • 2

THEMA: Pre remplir depuis une table d'invitation

Pre remplir depuis une table d'invitation 1 Jahr 3 Wochen her #104605

  • gabriel
  • gabriels Avatar
  • OFFLINE
  • Senior Lime
  • Beiträge: 48
  • Dank erhalten: 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
Letzte Änderung: 1 Jahr 3 Wochen her von gabriel.
Der Administrator hat öffentliche Schreibrechte deaktiviert.

Pre remplir depuis une table d'invitation 1 Jahr 3 Wochen her #104610

  • Nickko
  • Nickkos Avatar
  • OFFLINE
  • LimeSurvey Team
  • Beiträge: 2307
  • Dank erhalten: 304
  • Karma: 64
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
Der Administrator hat öffentliche Schreibrechte deaktiviert.

Pre remplir depuis une table d'invitation 1 Jahr 3 Wochen her #104611

  • gabriel
  • gabriels Avatar
  • OFFLINE
  • Senior Lime
  • Beiträge: 48
  • Dank erhalten: 4
  • Karma: 2
Nickko schrieb:
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:
Der Administrator hat öffentliche Schreibrechte deaktiviert.

Pre remplir depuis une table d'invitation 1 Jahr 3 Wochen her #104613

  • Nickko
  • Nickkos Avatar
  • OFFLINE
  • LimeSurvey Team
  • Beiträge: 2307
  • Dank erhalten: 304
  • Karma: 64
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
Letzte Änderung: 1 Jahr 3 Wochen her von Nickko.
Der Administrator hat öffentliche Schreibrechte deaktiviert.

Pre remplir depuis une table d'invitation 1 Jahr 3 Wochen her #104614

  • gabriel
  • gabriels Avatar
  • OFFLINE
  • Senior Lime
  • Beiträge: 48
  • Dank erhalten: 4
  • Karma: 2
Nickko schrieb:
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 :(
Der Administrator hat öffentliche Schreibrechte deaktiviert.

Pre remplir depuis une table d'invitation 1 Jahr 3 Wochen her #104615

  • Nickko
  • Nickkos Avatar
  • OFFLINE
  • LimeSurvey Team
  • Beiträge: 2307
  • Dank erhalten: 304
  • Karma: 64
tu as essayé de débugguer avec des "alert" ?

genre alert($('#answer914725X951X19224SQ002').val()) retourne quoi ?
Nickko
Ergonome / Usability expert
Der Administrator hat öffentliche Schreibrechte deaktiviert.
Folgende Benutzer bedankten sich: gabriel

Pre remplir depuis une table d'invitation 1 Jahr 3 Wochen her #104617

  • gabriel
  • gabriels Avatar
  • OFFLINE
  • Senior Lime
  • Beiträge: 48
  • Dank erhalten: 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 !
Der Administrator hat öffentliche Schreibrechte deaktiviert.

Pre remplir depuis une table d'invitation 1 Jahr 3 Wochen her #104633

  • Nickko
  • Nickkos Avatar
  • OFFLINE
  • LimeSurvey Team
  • Beiträge: 2307
  • Dank erhalten: 304
  • Karma: 64
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
Der Administrator hat öffentliche Schreibrechte deaktiviert.

Pre remplir depuis une table d'invitation 1 Jahr 3 Wochen her #104687

  • gabriel
  • gabriels Avatar
  • OFFLINE
  • Senior Lime
  • Beiträge: 48
  • Dank erhalten: 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,
Letzte Änderung: 1 Jahr 3 Wochen her von gabriel.
Der Administrator hat öffentliche Schreibrechte deaktiviert.

Pre remplir depuis une table d'invitation 1 Jahr 3 Wochen her #104690

  • DenisChenu
  • DenisChenus Avatar
  • OFFLINE
  • Moderator Lime
  • Beiträge: 6908
  • Dank erhalten: 925
  • Karma: 275
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.
Letzte Änderung: 1 Jahr 3 Wochen her von DenisChenu.
Der Administrator hat öffentliche Schreibrechte deaktiviert.
  • Seite:
  • 1
  • 2
Moderatoren: Nickko
Ladezeit der Seite: 0.289 Sekunden
Donation Image