Welcome to the LimeSurvey Community Forum

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

Matix mit Klappboxen und Kommazahleneingabe

  • HETILV
  • HETILV's Avatar Topic Author
  • Offline
  • Junior Member
  • Junior Member
More
1 week 4 days ago #263419 by HETILV
Bitte helfen Sie uns, Ihnen zu helfen und füllen Sie folgende Felder aus:
Ihre LimeSurvey-Version: 6.5.6
Eigener Server oder LimeSurvey-Cloud: Eigener
Genutzte Designvorlage: vanilla
==================
Hallo,

ich habe noch mal ein eine Matrix(Text) mit zwei Klappboxen und mehreren Eingabefeldern erstellt. Bei der ersten Spalte soll Text zugelassen werden. Bei der dritten (Personenanzahl) sollen nur ganze Zahlen zugelassen werden und bei der 4. und 5. Spalte sollen nur Zahlen mit bis zu 2 Nachkommastellen zugelassen werden. Bisher klapp soweit alles, außer das er leider kein Komma bei Spalte 4 und 5 nimmt. Ich hatte anstatt isNumeric auch schon Double oder Float ausprobiert, aber dann nimmt er auch Schrift. Wie kann ich das ändern?

Gruß
HETILV
 

File Attachment:

File Name: limesurvey...5-08.lss
File Size:43 KB

 

Please Log in to join the conversation.

  • Joffm
  • Joffm's Avatar
  • Offline
  • LimeSurvey Community Team
  • LimeSurvey Community Team
More
1 week 3 days ago - 1 week 3 days ago #263445 by Joffm

Ich hatte anstatt isNumeric auch schon Double oder Float ausprobiert

isNumeric ist die einzige Funktion dieser Art in JQuery.

Aber warum so kompliziert?
Nimm eine Eingabemaske und alles ist paletti.
Hier einmal die von Igor Escobar.
Zuerst natürlich die Bibliothek an sich einbinden
Code:
  <script type="text/javascript" charset="utf-8">
    $(document).on('ready pjax:scriptcomplete',function(){ 
//  Ganze Zahl (hier maximal drei Stellen)
         $('#question{QID} .answer_cell_X003 input[type="text"]').mask("990",
          {
            placeholder: "___"
        });
//  Kommazahl Zahl (hier maximal zwei Nachkommastellen, aber beliebig große Zahlen)
         $('#question{QID} .answer_cell_X004 input[type="text"]').mask("##0.00",
           {
             reverse: true,
             placeholder:"__.__"
         });
         $('#question{QID} .answer_cell_X005 input[type="text"]').mask("##0.00",
           {
             reverse: true,
             placeholder:"__.__"
         });
    });
</script>


Oder auch Robin Herbots
Code:
<script type="text/javascript" charset="utf-8">
    $(document).on('ready pjax:scriptcomplete',function(){ 
         $('#question{QID} .answer_cell_X003 input[type="text"]').inputmask({ 
            'mask': "9[9][9]",
            'removeMaskOnSubmit': false,
            'rightAlign': false,
        });
         $('#question{QID} .answer_cell_X004 input[type="text"]').inputmask({ 
            'mask': "9[9][9].99",
            'removeMaskOnSubmit': false,
            'rightAlign': false,
        });
         $('#question{QID} .answer_cell_X005 input[type="text"]').inputmask({ 
            'mask': "9[9][9].99",
            'removeMaskOnSubmit': false,
            'rightAlign': false,
        });
    });
</script>


Natürlich geht auch eine Validierung mittels "regexMatch"
Siehe Handbuch
[url] manual.limesurvey.org/Using_regular_expressions/en [/url]
Numbers und Currency (für die Kommazahlen)

Joffm

Volunteers are not paid.
Not because they are worthless, but because they are priceless
Last edit: 1 week 3 days ago by Joffm.

Please Log in to join the conversation.

  • HETILV
  • HETILV's Avatar Topic Author
  • Offline
  • Junior Member
  • Junior Member
More
6 days 9 hours ago #263878 by HETILV
Replied by HETILV on topic Matix mit Klappboxen und Kommazahleneingabe
Hallo Joffm,

vielen lieben Dank. Ich habe jetzt die Variante mit der Eingabemaske genommen.
Allerdings hatte ich vorher auch die Validierung mittels "regexMatch" versucht. Das ging so nicht, weil ich ja auch eine Spalte mit Text habe. Oder hätte ich da noch unterscheiden können wo er das Ganze anwenden soll?

Gruß
HETILV

Please Log in to join the conversation.

  • Joffm
  • Joffm's Avatar
  • Offline
  • LimeSurvey Community Team
  • LimeSurvey Community Team
More
5 days 9 hours ago #264078 by Joffm
Hallo,

Oder hätte ich da noch unterscheiden können wo er das Ganze anwenden soll?

Ja, aber das machst Du doch sowieso.
Die Funktion sieht doch beispielhaft so aus
regexMatch("/^[0-9][a-z]?$/",Q1_Y001_X001)
D.h. Du gibst genau an, auf welche Zelle sie sich beziehen soll.

Und: "regexMatxh wird in der Fragenvalidierung benutzt.
In der "Eingabevalidierung" wird ja nicht die Funktion benutzt, sondern nur die Expression; die bezieht sich dann aber auf die ganze Frage.

Jopffm

Volunteers are not paid.
Not because they are worthless, but because they are priceless

Please Log in to join the conversation.

Moderators: Joffm

Lime-years ahead

Online-surveys for every purse and purpose