Check out the LimeSurvey source code on GitHub!

Enregistrement d'une réponse préremplie

More
5 years 4 months ago #67082 by tamacheq
En javascript, je préremplis des champs en fonction du retour json de l'authentification CAS
<pre>
<script type="text/javascript"><!--
$(document).ready(function() {
$.jsonp({
url: ' auth.truc.org/datas/authCAS.php ',
callbackParameter: 'callback',
success: function(data) {
$('#CAS').html('<img src="'+data.logo120+'" class="auth" />');

if ($('#answer17451X1205X5414').length) { $('#answer17451X1205X5414').val(data.amount) ; $('#answer17451X1205X5414').attr('disabled', 'disabled') ; }
if ($('#answer17451X1205X5415').length) { $('#answer17451X1205X5415').val(data.duration) ; $('#answer17451X1205X5415').attr('disabled', 'disabled') ; }
if ($('#answer17451X1205X5416').length) { $('#answer17451X1205X5416').val(data.user) ; $('#answer17451X1205X5416').attr('disabled', 'disabled') ; }

error: function(xhr, textStatus, errorThrown){
$('#content').html('Vous devez être authentifié dans CAS');
}
});
});
--></script>
</pre>
je voudrais que ces 3 réponses soient enregistrées dans la table mysql, comme le sont les autres réponses, lorsqu'on passe au groupe de question suivant.
Est-ce possible? Cela m'éviterait de lancer un script en fin de saisie pour mettre à jour cette table qui est utilisée par l'administrateur. La personne qui soumet le questionnaire pourrait imprimer TOUTES les réponses et non pas seulement celles qu'il a saisies.
Merci d'avance pour toute suggestion.
AD

Please Log in to join the conversation.

More
5 years 4 months ago #67096 by Nickko
Je pense que c'est le cas. peu importe le moyen de remplissage d'une question, son contenu est tjr enregistré.

Nickko
Ergonome / Usability expert

Please Log in to join the conversation.

More
5 years 4 months ago #67133 by tamacheq
en effet, c'est enregistré si je ne désactive pas le champ avec une commande du type

$('#answer17451X1205X5414').attr('disabled', 'disabled') ;

mais je ne veux pas que l'utilisateur modifie la valeur contenue dans ce champ, c'est affiché à titre d'information...

Avez-vous une idée pour empêcher la saisie sans désactiver l'enregistrement?

Merci

AD

Please Log in to join the conversation.

More
5 years 4 months ago #67135 by Nickko
Oui, masquer le champ, et faire un peu de JS pour l'afficher sous forme de texte.

Par exemple, tu pourrais faire une question masqué (qui ne sera pas désactivé mais pas modifiable puisque masqué) + une question de type "affichage de texte" dont tu modifiras la valeur en JS comme tu le fais pour la question masqué dont tu veux enregistrer la valeur.

Nickko
Ergonome / Usability expert

Please Log in to join the conversation.

More
5 years 4 months ago #67171 by DenisChenu

tamacheq wrote:

$('#answer17451X1205X5414').attr('disabled', 'disabled') ;

L'attribut disable désactive la réponse, donc l'envoi de la réponse au formulaire.

Il faut utiliser readonly :).

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).

Please Log in to join the conversation.

More
5 years 4 months ago #67181 by tamacheq
l'inconvénient des questions cachées, c'est qu'elles sont imprimées aussi dans la page récapitulative d'impression des réponses.
merci pour la suggestion.
AD

Please Log in to join the conversation.

More
5 years 4 months ago - 5 years 4 months ago #67184 by tamacheq
cela fonctionne, merci beaucoup
AD

voici le code
if ($('#answer17451X1205X5414').length)
{
$('#answer17451X1205X5414').val(data.amount) ; $('#answer17451X1205X5414').attr('readonly', true) ;
}
Last Edit: 5 years 4 months ago by tamacheq.

Please Log in to join the conversation.

Moderators: Nickko
Imprint                   Privacy policy         General Terms & Conditions         Revocation information and revocation form