Welcome, Guest
Username: Password: Remember me

TOPIC: Besoin de l'identifiant de la réponse en cours sur la dernière page

Besoin de l'identifiant de la réponse en cours sur la dernière page 2 years 9 months ago #68414

  • tamacheq
  • tamacheq's Avatar
  • OFFLINE
  • Junior Lime
  • Posts: 30
  • Karma: 0
Bonjour
Le questionnaire est découpé en plusieurs groupes.
Lorsque le dernier écran s'affiche, je fais un traitement dans javascript dans startpage.tpl afin de préparer un formulaire POST redirigeant l'utilisateur sur une autre page prenant en paramètre les valeurs qu'il vient de saisir dans limesurvey.
Pour effectuer des contrôles, j'ai besoin d'envoyer également en paramètre caché, l'identifiant de la réponse (champ id de la table survey_xxxx).
J'aurais bien vu une variable prédéfinie comme {ID} (sur le modèle de {TEMPLATEURL} par exemple).
J'indique le code de ce qui existe déjà et en gras ce dont j'aurais besoin.
Merci
AD

if ($('#checkout').length)
{
var usermail = GetCookie ('usermail') ;
$('#checkout').html('<form method="post" action="blabla.org/checkout.php"><input type="hidden" value="?????" name="iduser"/><input type="hidden" value="'+usermail+'" name="usermail"/><input id="paybox" class="submit" type="submit" value="Continuer"/></form>');
}
The administrator has disabled public write access.

Re: Besoin de l'identifiant de la réponse en cours sur la dernière page 2 years 9 months ago #68428

  • DenisChenu
  • DenisChenu's Avatar
  • OFFLINE
  • Moderator Lime
  • Posts: 6272
  • Thank you received: 800
  • Karma: 240
Salut,

Dans starpage ou endpage ?

Pourquoi n'utilise tu pas l'url de fin avec la redirection automatique.

Il me semble que l'on peux utiliser {SID} dans l'url de fin.

Denis
The administrator has disabled public write access.

Re: Besoin de l'identifiant de la réponse en cours sur la dernière page 2 years 9 months ago #68436

  • tamacheq
  • tamacheq's Avatar
  • OFFLINE
  • Junior Lime
  • Posts: 30
  • Karma: 0
SID est l'identifiant du questionnaire et non pas de la réponse.
Je génère un questionnaire POST pour ne pas passer de paramètre dans l'url.
Merci
AD
The administrator has disabled public write access.

Re: Besoin de l'identifiant de la réponse en cours sur la dernière page 2 years 9 months ago #68443

  • DenisChenu
  • DenisChenu's Avatar
  • OFFLINE
  • Moderator Lime
  • Posts: 6272
  • Thank you received: 800
  • Karma: 240
Oups ...

Heu {SAVEDID}, non ?

Ca doit être quelquepart dans la doc :)
The administrator has disabled public write access.

Re: Besoin de l'identifiant de la réponse en cours sur la dernière page 2 years 9 months ago #68445

  • tamacheq
  • tamacheq's Avatar
  • OFFLINE
  • Junior Lime
  • Posts: 30
  • Karma: 0
j'ai regardé le code de commun_functions.php, {SAVEDID} n'est disponible que dans l'url de fin
j'ai procédé de la manière suivante

définir cette pseudo-url dans les paramètres du questionnaire (url de fin dans la description des éléments texte) : {SAVEDID}
dans completed.pstpl, définir un div avec l'id checkout qui sera réécrit en javascript après récupération de son contenu
<table width="75%" align="center" border="1" style="border-collapse: collapse" bgcolor="white">
<tr>
<td align="center">
<font size="2">{COMPLETED}<br />

<div id="checkout">{URL}</div><br /><br />
</td>
</tr>
</table>
récupérer cette valeur en jquery chargé dans startpage.pstpl (voir ci-dessous)
if ($('#checkout').length)
{
var userid = $('#checkout').text() ;
var usermail = GetCookie ('usermail') ;
$('#checkout').html('<form method="post" action="xxx.org/checkout.php"><input type="hidden" value="'+userid+'" name="userid"/><input type="hidden" value="'+(data.amount*data.duration)+'" name="amount"/><input id="paybox" class="submit" type="submit" value="Continuer"/></form>');
}
Last Edit: 2 years 9 months ago by tamacheq.
The administrator has disabled public write access.

Re: Besoin de l'identifiant de la réponse en cours sur la dernière page 2 years 9 months ago #68446

  • DenisChenu
  • DenisChenu's Avatar
  • OFFLINE
  • Moderator Lime
  • Posts: 6272
  • Thank you received: 800
  • Karma: 240
Donc tu peux mettre {SAVEDID} dans l'url de fin et dans le template completed.pstpl:

<input type="hidden" value="{URL}" name="iduser"/>

gloups ....
The administrator has disabled public write access.

Re: Besoin de l'identifiant de la réponse en cours sur la dernière page 2 years 9 months ago #68447

  • tamacheq
  • tamacheq's Avatar
  • OFFLINE
  • Junior Lime
  • Posts: 30
  • Karma: 0
merci pour les suggestions, c'est un peu plus complexe parce que je fais des traitements à partir des cookies
AD
The administrator has disabled public write access.

Re: Besoin de l'identifiant de la réponse en cours sur la dernière page 2 years 9 months ago #68456

  • DenisChenu
  • DenisChenu's Avatar
  • OFFLINE
  • Moderator Lime
  • Posts: 6272
  • Thank you received: 800
  • Karma: 240
Salut,

Par contre l'envoi des informations en post est super intéressant, cela serait intéressant que tu puisse proposer un workaround sur la page adéquate.

docs.limesurvey.org/Workarounds

Denis
The administrator has disabled public write access.
Moderators: Nickko
Time to create page: 0.122 seconds
Donation Image