Check out the LimeSurvey source code on GitHub!

Ajouter un masque de contrôle javascript

More
6 years 3 months ago #52922 by Harjac
Bonjour,

j'ai besoin de disposer d'une plus grande finesse sur la saisie des zones textes (par exemple avoir un format HH:MM heure minute)
J'ai trouvé une solution qui semble parfaitement convenir à mon besoin et qui est modifiable : meioMask

Si j'ai bien compris, dans un premier temps je dois autoriser le fonctionnement de javascript dans les questionnaires.
Et pour cela je dois placer à false la variable filterxsshtml qui se trouve dans le fichier config-defaults.php (à la racine du site)
Puis pour voir si le javascript est bien actif j'ai ajouté ce code dans le source de la première question:
<script type="text/javascript" charset="utf-8">
alert("Javascript Ok");
</script>

Malheureusement le code s'affiche "en clair" sur la page mais ne s'exécute pas (je parle du mode Aperçu de cette question)

Avez vous une idée ?
Merci

Please Log in to join the conversation.

More
6 years 3 months ago #52928 by DenisChenu
Salut,

Sur la version 1.90, les paramètres de config.php ne sont plus pris en compte, il faut aller dans les paramètres de ton installation. (a confirmer pour filterxss)

De plus, il vaut mieux désactiver l'éditeur html pour la javascript.

En effet celui-ci n'accepte pas le javascript : docs.limesurvey.org/tiki-index.php?page=..._etc._in_LimeSurvey_

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
6 years 2 months ago #52942 by Harjac
Shnoulle wrote:

il faut aller dans les paramètres de ton installation. (a confirmer pour filterxss)

Effectivement c'est le paramètre dans :
Interface admin : "Paramètres généraux" onglet "Sécurité" option "Filtrer le HTML contre le XSS" à mettre à NON.
Le javascript fonctionne sur la 1.9 avec ce paramètre. Merci
Je vais continuer à tester la suite avec le Onload ... à suivre sur ce post

Please Log in to join the conversation.

More
6 years 2 months ago #52945 by DenisChenu
Salut;

Evite le onload maintenant. Depuis la version 1.87 jquery est intégré à LimeSurvey.

Donc avec jquery, tu peut directement utiliser:
<script>
jQuery(document).ready(
    function(){
        alert('onload alert!'); // ou quelquechose de plus intéressant ;)
    }
);
</script>

Cela fonctionne beaucoup mieux, de plus ca attend que la page soit chargée , donc tu peut intégrer le script dans la question 1 pour qu'il modifie ma question 2.
Ou dans la description du groupe aussi.

:)

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
6 years 2 months ago - 6 years 2 months ago #52986 by Harjac
Merci pour cette précision. ;)
Last Edit: 6 years 2 months ago by Harjac.

Please Log in to join the conversation.

More
6 years 2 months ago #53056 by Harjac
Encore une question
le nom des variables est composé de 5 éléments variables, Le code questionnaire (séparé par X), le code groupe de question, (séparé par X) le code question et les codes Y et X (pour les tableaux)
Mais les variables commencent des fois par java et des fois par answer
C'est paramétrable ?
ex : java27365X20X576LUN_OUV
Merci

Please Log in to join the conversation.

More
6 years 2 months ago #53090 by DenisChenu
Salut,

Non, ce n'est pas parmètrable, par contre pour plus de facilité il est possible d'utiliser l'identifiant englobant questionXXXX.

:)

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
6 years 2 months ago - 6 years 2 months ago #53094 by Harjac
Oui, c'est même toujours answerXXXX
Le contrôle précis des masques de saisie avec le code javascript résout le dernier problème que nous avions.
Nous allons donc utiliser Limesurvey pour notre questionnaire, et "faire un don"
Merci
Last Edit: 6 years 2 months ago by Harjac.

Please Log in to join the conversation.

More
6 years 1 month ago - 6 years 1 month ago #55077 by Harjac
Bonjour,

notre questionnaire étant "très gros" 1700 zones et plus de 200 questions je test l'utilisation de la méthode jquery plutôt que le Onload.
Mais marche pas. Une idée ?

ONLOAD (marche)
<script>function Custom_On_Load(){$(document).ready(function() {
	$('#answer88941X91X7100LUN').attr('alt', 'heure');
	$('input:answer88941X91X7100LUN').setMask();
});}</script> <script type="text/javascript" charset="utf-8">Custom_On_Load();</script>
JQUERY (marche pas)
<script>jQuery(document).ready(function(){
	$('#answer88941X91X7100LUN').attr('alt', 'heure');
	$('input:answer88941X91X7100LUN').setMask();
});</script>
Autre remarque, le code Javascipt est dupliqué dans le code de la page dans <div class="survey-question-text"> et également dans <div class="survey-question-answer"> comment en retirer un ?
Merci
Last Edit: 6 years 1 month ago by Harjac.

Please Log in to join the conversation.

More
6 years 1 month ago #55080 by DenisChenu

Harjac wrote: Autre remarque, le code Javascipt est dupliqué dans le code de la page dans <div class="survey-question-text"> et également dans <div class="survey-question-answer"> comment en retirer un ?
Merci

Tu dois avoir ajouté quelquechose dans le template il me semble.

Sinon, est ce que en faisant:
<script>jQuery(document).ready(function(){
	$('#answer88941X91X7100LUN').css('background','red');
});</script>
Cela fonctionne ?

Si oui, as tu une erreur javascript ? (la barre webdevelopper est très bien pour détecter les erreurs javascript).

As tu bien ajouté le lien vers le fichier javascript de ton template ?

As tu un lien pour regarder ce qu'il en ai ?

notre questionnaire étant "très gros" 1700 zones et plus de 200 questions

Oua, ca va être long à faire ca :)

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
6 years 1 month ago - 6 years 1 month ago #55087 by Harjac

Shnoulle wrote: Sinon, est ce que en faisant:

<script>jQuery(document).ready(function(){
	$('#answer88941X91X7100LUN').css('background','red');
});</script>
Cela fonctionne ?

non Erreur dans le CSS (et non dans le Javascript)
X rouge de WebDeveloper
Le questionnaire n'est pas encore actif ..donc pas de lien
Mais je vais en faire un petit bidon
NB: Oui c'est long 200 questions ..mais c'est pas moi qui le fait
Last Edit: 6 years 1 month ago by Harjac.

Please Log in to join the conversation.

More
6 years 1 month ago - 6 years 1 month ago #55093 by DenisChenu

Harjac wrote: non Erreur dans le CSS (et non dans le Javascript)
X rouge de WebDeveloper

Donc le sélecteur est OK.

As tu incorporé le fichier du plugin jquery dans ton template ?

Sinon, de mon coté j'ai déjà utilisé se plugin : digitalbush.com/projects/masked-input-plugin/ pas pour LimeSurvey, mais il me semblait plus simple.

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).
Last Edit: 6 years 1 month ago by DenisChenu.

Please Log in to join the conversation.

More
6 years 1 month ago #55094 by Harjac
Oui j'ai bien le lien vers le jquery.meiomask.js dans mon template puisque mon masque fonction avec le code OnLoad().
Pas d'idée pour le doublement du code javascipt dans les 2 DIV ?
merci

Please Log in to join the conversation.

More
5 years 11 months ago #58520 by Harjac

Shnoulle wrote:

Harjac wrote: Sinon, de mon coté j'ai déjà utilisé se plugin : digitalbush.com/projects/masked-input-plugin/ pas pour LimeSurvey, mais il me semblait plus simple.

Bonjour,
Effectivement il est plus simple.
Par contre l'avantage de l'autre c'est que si tu décides de changer un format (par exemple passer les date de JJ/MM/AA en JJ/MM/AAAA) il y a juste une modif à faire dans meiomask.js pour que tous les champs dates disposent du même format. C'est un plus important pour les gros questionnaires.

Please Log in to join the conversation.

More
5 years 11 months ago #58521 by Harjac
J'en profite pour ajouter une question "technique"
Dans quelle champ de quelle table de la base Limesurvey est sauvegardé le code javascrip ajouté ?

Please Log in to join the conversation.

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