schumiel: Frage-Formular - Checkbox bei Nummerierung?

Hallo,

ich bin gerade dabei ein Formular zu erstellen, wo folgende Frage drin ist:

1.) "... Bitte kennzeichnen Sie die wichtigsten Punkte durch 1,2,3, wobei die 1 am Wichtigsten ist!"

2.) Die 2.Frage beinhaltet 4 Checkboxen, wo nur max. 2 angekreuzt werden dürfen!

Wie erstelle ich beide Formulare?

  1. moin schumiel :)

    1.) "... Bitte kennzeichnen Sie die wichtigsten Punkte durch 1,2,3, wobei die 1 am Wichtigsten ist!"

    Hier brauchst du wahrscheinlich (wenn ich deine Aussage richtig interpretiere) ein Eingabefeld.
    bzw. drei davon ;)

    2.) Die 2.Frage beinhaltet 4 Checkboxen, wo nur max. 2 angekreuzt werden dürfen!

    Checkboxen zu erstellen sollte nicht weiter schwierig sein.
    Prüfen wie viele Checkboxen angekreuzt sind, kannst du mit der Javascript-Eigenschaft checked

    liebe Grüße aus Berlin
    lina-

    --
    Dinge aus dem linaland
    Self-Code: ie:% fl:( br:^ va:) ls:/ fo:| rl:( ss:) de:] js:| mo:)
    1. moin schumiel :)

      1.) "... Bitte kennzeichnen Sie die wichtigsten Punkte durch 1,2,3, wobei die 1 am Wichtigsten ist!"

      Hier brauchst du wahrscheinlich (wenn ich deine Aussage richtig interpretiere) ein Eingabefeld.
      bzw. drei davon ;)

      2.) Die 2.Frage beinhaltet 4 Checkboxen, wo nur max. 2 angekreuzt werden dürfen!

      Checkboxen zu erstellen sollte nicht weiter schwierig sein.
      Prüfen wie viele Checkboxen angekreuzt sind, kannst du mit der Javascript-Eigenschaft checked

      Danke. Bei der 1.Frage ist da nix mit checkboxen zu machen?

      Eine 3.Frage:
      Bei einer Antwortmöglichkeit kommt zunächst eine Checkbox, dann normal der Name, was man da hätte angekreuzt (z.B. Sonstiges). Wenn man dort das Häckchen reingemacht hat, soll man erst was in das daraufliegende text-input-Feld reinschreiben können! Wie geht das? Nur mit javascript?

      1. moin Schumiel :)

        Danke. Bei der 1.Frage ist da nix mit checkboxen zu machen?

        Wie willst du denn eine Zahl in eine Checkbox schreiben? Entweder reden wir aneinander vorbei und ich habe dich missverstanden oder dein Vorhaben geht so nicht ;)

        Eine 3.Frage:
        Bei einer Antwortmöglichkeit kommt zunächst eine Checkbox, dann normal der Name,

        was man da hätte angekreuzt (z.B. Sonstiges). Wenn man dort das Häckchen reingemacht hat, soll man erst was in das daraufliegende text-input-Feld reinschreiben können! Wie geht das? Nur mit javascript?

        Ja.. das geht nur mit Javascript. Ein Textfeld könntest du z.B. auf disabled setzen und je nach Wert der Eigenschaft checked (von der Checkbox) wieder auf false setzen
        liebe Grüße aus Berlin
        lina-

        --
        Dinge aus dem linaland
        Self-Code: ie:% fl:( br:^ va:) ls:/ fo:| rl:( ss:) de:] js:| mo:)
        1. moin Schumiel :)

          Danke. Bei der 1.Frage ist da nix mit checkboxen zu machen?

          Wie willst du denn eine Zahl in eine Checkbox schreiben? Entweder reden wir aneinander vorbei und ich habe dich missverstanden oder dein Vorhaben geht so nicht ;)

          Dann wird das eher mit einem selectfeld oder input-feld nur gehen! :-( Schade.

          Eine 3.Frage:
          Bei einer Antwortmöglichkeit kommt zunächst eine Checkbox, dann normal der Name,

          was man da hätte angekreuzt (z.B. Sonstiges). Wenn man dort das Häckchen reingemacht hat, soll man erst was in das daraufliegende text-input-Feld reinschreiben können! Wie geht das? Nur mit javascript?

          Ja.. das geht nur mit Javascript. Ein Textfeld könntest du z.B. auf disabled setzen und je nach Wert der Eigenschaft checked (von der Checkbox) wieder auf false setzen
          liebe Grüße aus Berlin
          lina-

          Danke, super. Genau das brauche ich. Nur erst wenn man reinklickt, soll das disable rausgehen. Aber ich denke, das bekomme ich schon hin!

          1. moin Schumiel :)

            Danke, super. Genau das brauche ich. Nur erst wenn man reinklickt, soll das disable rausgehen. Aber ich denke, das bekomme ich schon hin!

            Wozu? Ich als Benutzer würde nicht in ein Feld klicken, das ausgegraut ist ;)
            .oO(Geht das überhaupt?)
            Rein von der Bedienbarkeit her solltest du das Feld wieder freigeben, sobald die Checkbox "Sonstiges" angewählt wurde. Nur so ein Tipp.

            Ach ja - wo ich schon bei neunmalklugen Tipps bin: Denk bitte auch daran, dass deine User eventuell Javascript ausgeschaltet haben. (Will heissen, du solltest das Eingabefeld nicht von vornherein auf disabled setzen sondern erst nach einer erfolgreichen Abfrage ob javascript an ist)

            liebe Grüße aus Berlin
            lina-

            --
            Dinge aus dem linaland
            Self-Code: ie:% fl:( br:^ va:) ls:/ fo:| rl:( ss:) de:] js:| mo:)
            1. moin Schumiel :)

              Danke, super. Genau das brauche ich. Nur erst wenn man reinklickt, soll das disable rausgehen. Aber ich denke, das bekomme ich schon hin!

              Wozu? Ich als Benutzer würde nicht in ein Feld klicken, das ausgegraut ist ;)
              .oO(Geht das überhaupt?)
              Rein von der Bedienbarkeit her solltest du das Feld wieder freigeben, sobald die Checkbox "Sonstiges" angewählt wurde. Nur so ein Tipp.

              So meinte ich das auch!

              Ach ja - wo ich schon bei neunmalklugen Tipps bin: Denk bitte auch daran, dass deine User eventuell Javascript ausgeschaltet haben. (Will heissen, du solltest das Eingabefeld nicht von vornherein auf disabled setzen sondern erst nach einer erfolgreichen Abfrage ob javascript an ist)

              Auf weih, das nächste Problem! Wie löst man das?

              1. moin schumiel :)

                Will heissen, du solltest das Eingabefeld nicht von vornherein auf disabled setzen sondern erst nach einer erfolgreichen Abfrage ob javascript an ist

                Auf weih, das nächste Problem! Wie löst man das?

                Im HTML setzt du disabled=false.
                Im Javascript Bereich im Header (oder einer onload-Funktion) setzt du dann das Feld auf disabled=true. Somit wird das gar nicht gesetzt, wenn javascript ausgeschaltet ist.

                liebe Grüße aus Berlin
                lina-

                --
                Dinge aus dem linaland
                Self-Code: ie:% fl:( br:^ va:) ls:/ fo:| rl:( ss:) de:] js:| mo:)
                1. moin schumiel :)

                  Will heissen, du solltest das Eingabefeld nicht von vornherein auf disabled setzen sondern erst nach einer erfolgreichen Abfrage ob javascript an ist

                  Auf weih, das nächste Problem! Wie löst man das?

                  Im HTML setzt du disabled=false.
                  Im Javascript Bereich im Header (oder einer onload-Funktion) setzt du dann das Feld auf disabled=true. Somit wird das gar nicht gesetzt, wenn javascript ausgeschaltet ist.

                  liebe Grüße aus Berlin
                  lina-

                  Danke, aber wie prüfe ich, ob Javascript an ist oder aus?

                  Oder versteh ich dich gerade nicht, wenn du die Frage damit beantwortet hast?

                  1. Habs gefunden.

                    <script>
                    <!--
                    function drawjavascript() {
                    document.write("aktiviert");
                    }
                    drawjavascript();
                    //-->
                    </script>

                    Und wie frage ich das über PHP ab?

                    if ($drawjavascript()=='aktiviert') echo 'ok'; else echo 'falsch';

                    Das Beispiel geht nicht!

                    1. Moin

                      <script>
                      <!--
                      function drawjavascript() {
                      document.write("aktiviert");
                      }
                      drawjavascript();
                      //-->
                      </script>

                      das ist so sinnvoll wie ein Programm das prüft ob der Rechner an ist.
                      Lina hat es doch schon geschrieben: Wenn JavaScript deaktiviert ist passiert einfach nix mit den Scripten. Das musst du nicht prüfen. Und schon gar nicht mit JavaScript.

                      Und wie frage ich das über PHP ab?

                      gar nicht!

                      Gruß
                      rfb

                      --
                      Man kann einen Menschen nichts lehren, man kann ihm nur helfen, es selbst zu entdecken.
                      (Galileo Galilei)
                      1. Moin

                        <script>
                        <!--
                        function drawjavascript() {
                        document.write("aktiviert");
                        }
                        drawjavascript();
                        //-->
                        </script>

                        das ist so sinnvoll wie ein Programm das prüft ob der Rechner an ist.
                        Lina hat es doch schon geschrieben: Wenn JavaScript deaktiviert ist passiert einfach nix mit den Scripten. Das musst du nicht prüfen. Und schon gar nicht mit JavaScript.

                        Ich will aber prüfen, ob JavaScript aktiviert ist. Weil ist es aktiviert, dann soll das passieren. Ist es nicht aktiviert, soll ein Text ausgegeben werden.

                        Kann man das nicht mit PHP (über if-Abfragen) verknüpfen?

                        1. Moin

                          Ist es nicht aktiviert, soll ein Text ausgegeben werden.

                          Für solche Zwecke gibt es noscript-Bereiche
                          <noscript>Dieser Text ist nur sichtbar wenn JavaScript deaktiviert ist</noscript>
                          einfaches HTML!

                          Gruß
                          rfb

                          --
                          Man kann einen Menschen nichts lehren, man kann ihm nur helfen, es selbst zu entdecken.
                          (Galileo Galilei)
                          1. Ist es nicht aktiviert, soll ein Text ausgegeben werden.
                            Für solche Zwecke gibt es noscript-Bereiche
                            <noscript>Dieser Text ist nur sichtbar wenn JavaScript deaktiviert ist</noscript>
                            einfaches HTML!

                            Nicht ganz korrekt. Die Definition sagt, dass <noscript> ausgegeben wird, wenn der vorhergehende <script>-Bereich nicht ausgeführt werden konnte.

                            Daraus folgt mindestens: Die Reihenfolge ist relevant, <noscript> muß immer HINTER dem zugehörigen <script>-Bereich kommen.

                            Und zweitens: <noscript> wird nicht automatisch ausgegeben, nur weil Javascript deaktiviert ist - wenn der Browser nämlich mehr als nur Javascript als Scriptsprache akzeptiert, man das selektiv ausschalten kann, und der vor <noscript> befindliche <script>-Bereich etwas anderes als Javascript enthielt.

                            1. Ist es nicht aktiviert, soll ein Text ausgegeben werden.
                              Für solche Zwecke gibt es noscript-Bereiche
                              <noscript>Dieser Text ist nur sichtbar wenn JavaScript deaktiviert ist</noscript>
                              einfaches HTML!

                              Nicht ganz korrekt. Die Definition sagt, dass <noscript> ausgegeben wird, wenn der vorhergehende <script>-Bereich nicht ausgeführt werden konnte.

                              Daraus folgt mindestens: Die Reihenfolge ist relevant, <noscript> muß immer HINTER dem zugehörigen <script>-Bereich kommen.

                              Und zweitens: <noscript> wird nicht automatisch ausgegeben, nur weil Javascript deaktiviert ist - wenn der Browser nämlich mehr als nur Javascript als Scriptsprache akzeptiert, man das selektiv ausschalten kann, und der vor <noscript> befindliche <script>-Bereich etwas anderes als Javascript enthielt.

                              So, und nun? Wie kann ich das selektiv abfragen?

                              1. Moin

                                Peter hat Recht mit:

                                Nicht ganz korrekt.

                                und

                                Die Reihenfolge ist relevant, <noscript> muß immer HINTER dem zugehörigen <script>-Bereich kommen.

                                Aber da JavaScript in der Regel im head-Bereich steht, <noscript> aber im body ist das leicht zu erfüllen.

                                Der Hinweis auf eventuelle andere Scriptsprachen ist nur für den IE relevant. Wobei dieser mE. da aber gar keinen Unterschied macht.
                                Spielt aber sowieso - wenn du nur JavaScript nutzt - keine Rolle.
                                Also: nutze <nosript>

                                Gruß
                                rfb

                                --
                                Man kann einen Menschen nichts lehren, man kann ihm nur helfen, es selbst zu entdecken.
                                (Galileo Galilei)
                            2. Nicht ganz korrekt. Die Definition sagt, dass <noscript> ausgegeben wird, wenn der vorhergehende <script>-Bereich nicht ausgeführt werden konnte.

                              Wo steht diese Definition?
                              Laut http://www.w3.org/TR/html4/interact/scripts.html#h-18.3.1

                              Wird der noscript Block ausgeführt, entweder wenn der ua keine skripte ausführt oder ein vorheriger Block kann nicht ausgeführt werden, dass dürfte nur relevant sein, wenn man mit mehrere verschiedenen Skriptsprachen auf der seite arbeitet.

                              Daraus folgt mindestens: Die Reihenfolge ist relevant, <noscript> muß immer HINTER dem zugehörigen <script>-Bereich kommen.

                              Das lese ich so nicht aus der Definition und es funktioniert auch ohne Probleme:

                              <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN"  
                                     "http://www.w3.org/TR/REC-html40/strict.dtd">  
                              <html>  
                              <head>  
                              <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">  
                              <title>Unbenanntes Dokument</title>  
                              </head>  
                              <body>  
                              <noscript>Kein Script</noscript>  
                              </body>  
                              </html>  
                              
                              

                              Und zweitens: <noscript> wird nicht automatisch ausgegeben, nur weil Javascript deaktiviert ist - wenn der Browser nämlich mehr als nur Javascript als Scriptsprache akzeptiert, man das selektiv ausschalten kann, und der vor <noscript> befindliche <script>-Bereich etwas anderes als Javascript enthielt.

                              Das kann sein.

                              Struppi.

                              --
                              Javascript ist toll (Perl auch!)
                  2. Hallo schumiel.

                    Danke, aber wie prüfe ich, ob Javascript an ist oder aus?

                    Ganz einfach: nutze es. Ist JavaScript aktiv, kann es ausgeführt werden, ansonsten nicht.

                    Einen schönen Mittwoch noch.

                    Gruß, Mathias

                    --
                    ie:% fl:| br:< va:) ls:& fo:) rl:( n4:~ ss:) de:] js:| mo:| zu:)
                    debian/rules