Welcome to the LimeSurvey Community Forum

Ask the community, share ideas, and connect with other LimeSurvey users!

Supprimer les caractères spéciaux et les accents dans une expression

  • DenisChenu
  • DenisChenu's Avatar
  • Offline
  • LimeSurvey Community Team
  • LimeSurvey Community Team
More
3 years 3 months ago #209744 by DenisChenu
Jamais un lsg : j'ai pas envie de créer un quetsionnaire .
Je n'importe que des lss …

Assistance on LimeSurvey forum and LimeSurvey core development are on my free time.
I'm not a LimeSurvey GmbH member, professional service on demand , plugin development .
I don't answer to private message.
The topic has been locked.
  • DenisChenu
  • DenisChenu's Avatar
  • Offline
  • LimeSurvey Community Team
  • LimeSurvey Community Team
More
3 years 3 months ago - 3 years 3 months ago #209747 by DenisChenu
Sinon,

tente avec
Code:
accentsTidy = function(s){
    var r=s.toLowerCase();
    r = r.replace(new RegExp(/\s/g),"");
    r = r.replace(new RegExp(/[àáâãäå]/g),"a");
    r = r.replace(new RegExp(/æ/g),"ae");
    r = r.replace(new RegExp(/ç/g),"c");
    r = r.replace(new RegExp(/[èéêë]/g),"e");
    r = r.replace(new RegExp(/[ìíîï]/g),"i");
    r = r.replace(new RegExp(/ñ/g),"n");                
    r = r.replace(new RegExp(/[òóôõö]/g),"o");
    r = r.replace(new RegExp(/œ/g),"oe");
    r = r.replace(new RegExp(/[ùúûü]/g),"u");
    r = r.replace(new RegExp(/[ýÿ]/g),"y");
    r = r.replace(new RegExp(/\W/g),"");
    return r;
};
 
$(function() {
    $(".question-container.accentsTidy .text-item > textarea").on("change", function() {
        $(this).val(accentsTidy($(this).val()));
    });
    $(".question-container.accentsTidy .text-item > input:text").on("change", function() {
        $(this).val(accentsTidy($(this).val()));
    });
});
DIRECTEMENT, pas inclus dans la fonction.

Ca fonctionne quand l'utilisateur sort de la réponse. si tu veux à la saisie : keyup au lieu de change.

Assistance on LimeSurvey forum and LimeSurvey core development are on my free time.
I'm not a LimeSurvey GmbH member, professional service on demand , plugin development .
I don't answer to private message.
Last edit: 3 years 3 months ago by DenisChenu.
The topic has been locked.
  • ludogre
  • ludogre's Avatar Topic Author
  • Offline
  • Junior Member
  • Junior Member
More
3 years 3 months ago #209749 by ludogre
Merci pour le retour.

Même avec le code "DIRECTEMENT", ça ne passe pas.

J'attache le questionnaire en entier pour test.

File Attachment:

File Name: limesurvey...1587.lss
File Size:18 KB
The topic has been locked.
  • DenisChenu
  • DenisChenu's Avatar
  • Offline
  • LimeSurvey Community Team
  • LimeSurvey Community Team
More
3 years 3 months ago #209769 by DenisChenu
Non : c'est une action qui se fait directement : donc la classe accentsTidy est à ajouter sur la question «nom» directement.

:)

Assistance on LimeSurvey forum and LimeSurvey core development are on my free time.
I'm not a LimeSurvey GmbH member, professional service on demand , plugin development .
I don't answer to private message.
The topic has been locked.
  • ludogre
  • ludogre's Avatar Topic Author
  • Offline
  • Junior Member
  • Junior Member
More
3 years 3 months ago #209835 by ludogre
Merci DenisChenu. Je confirme que ça fonctionne. \o/

Mais ça ne fait pas exactement ce que je souhaitais faire.
À savoir, j'entre un "Prénom NOM" dans le champs "nom" et il conserve ses accents, espaces, carctères spéciaux, toussa… et s'affiche dans le champ "nettoyage" la version nettoyée par la fonction AccentTidy.

C'est faisable également avec l'insertion direct de code javascript dans une question?
The topic has been locked.
  • DenisChenu
  • DenisChenu's Avatar
  • Offline
  • LimeSurvey Community Team
  • LimeSurvey Community Team
More
3 years 3 months ago - 3 years 3 months ago #209837 by DenisChenu
Dasn ce cas, il faut créer une 2èmle question cachée par la classe hidden + la classe accentsTidyCopy

Et un truc du genre
Code:
$(function() {
    $(".question-container.accentsTidy .text-item > textarea").on("change", function() {
        $(".question-container.accentsTidyCopy .text-item > textarea").val(accentsTidy($(this).val()));
    });
});

Assistance on LimeSurvey forum and LimeSurvey core development are on my free time.
I'm not a LimeSurvey GmbH member, professional service on demand , plugin development .
I don't answer to private message.
Last edit: 3 years 3 months ago by DenisChenu.
The topic has been locked.
  • ludogre
  • ludogre's Avatar Topic Author
  • Offline
  • Junior Member
  • Junior Member
More
3 years 3 months ago - 3 years 3 months ago #209891 by ludogre
Je n'arrive pas à comprendre quoi faire exactement.
Pourquoi cacher cette deuxième question?
Que faire de ma question "nettoyage"?
Où dois-je mettre la fonction "accentsTidy"? Dans la question "nom", ou bien dans la deuxième question, ou dans la question "nettoyage", ou bien indifféremment l'une des trois?
Qu'est-ce que je garde de la précédente version? Qu'est-ce que je change exactement?
J'ai tenté plusieurs choses, mais sans succès.
Last edit: 3 years 3 months ago by ludogre.
The topic has been locked.
  • ludogre
  • ludogre's Avatar Topic Author
  • Offline
  • Junior Member
  • Junior Member
More
3 years 3 months ago #209907 by ludogre
Voilà où j'en suis. Mais sans succès encore pour le moment.

File Attachment:

File Name: limesurvey...4884.lsq
File Size:2 KB
The topic has been locked.
  • DenisChenu
  • DenisChenu's Avatar
  • Offline
  • LimeSurvey Community Team
  • LimeSurvey Community Team
More
3 years 3 months ago #209955 by DenisChenu
accentsTidy se fait en javascript : tu cache la question parceque elle n'est pas destinée à être montrée à l'utilisateur.
Pourquoi tu parle de 3 questions ?
Ce n'est pas important ou est la fonction : dans l'une ou dans l'autre.
Tu ne peux pas utiliser les équations : donc pas de questions équations : tout doit se faire en javascript.


Tu demande d'avoir les 2 données mais tu ne comprend pas pourquoi je créé une 2ème question ?

Sinon : support.sondages.pro/

Assistance on LimeSurvey forum and LimeSurvey core development are on my free time.
I'm not a LimeSurvey GmbH member, professional service on demand , plugin development .
I don't answer to private message.
The topic has been locked.
Moderators: Nickko

Lime-years ahead

Online-surveys for every purse and purpose