melloman: schaltfläche ausblenden

Hallo Leute

Ich habe für ein System eine Einstiegsseite mit einem Datenschutztext und einer Checkbox um diesen zu akzeptieren. Nun will ich, dass eine Schaltfläche erscheint, sobald ich die Checkbox anklicke, um mit dieser in das system zu gelangen...

  1. Hi,

    Ich habe für ein System eine Einstiegsseite mit einem Datenschutztext und einer Checkbox um diesen zu akzeptieren. Nun will ich, dass eine Schaltfläche erscheint, sobald ich die Checkbox anklicke, um mit dieser in das system zu gelangen...

    für Dynamik und Interaktion benötigst Du eine Programmiersprache. Da es hier augenscheinlich um nichts Optionales geht, scheidet JavaScript als (zumindest einzige) Lösung aus; implementiere also einen serverseitigen Mechanismus.

    Cheatah

    --
    X-Self-Code: sh:( fo:} ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
    X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
    X-Will-Answer-Email: No
    X-Please-Search-Archive-First: Absolutely Yes
    1. Hi,

      Ich habe für ein System eine Einstiegsseite mit einem Datenschutztext und einer Checkbox um diesen zu akzeptieren. Nun will ich, dass eine Schaltfläche erscheint, sobald ich die Checkbox anklicke, um mit dieser in das system zu gelangen...

      für Dynamik und Interaktion benötigst Du eine Programmiersprache. Da es hier augenscheinlich um nichts Optionales geht, scheidet JavaScript als (zumindest einzige) Lösung aus; implementiere also einen serverseitigen Mechanismus.

      Theorie:
      HTML:
      <input type="checkbox"><input type="submit">

      CSS:
      input[type="checkbox"]+input[type="submit"]                    { border:3px solid red; }
      input[checked="checked"][type="checkbox"]+input[type="submit"] { border:3px solid green; }

      leider reagiert der Gecko aber nicht auf das Setzen bzw. entfernen des Häkchens - nur auf das Setzen des checked-Attributs im Source.

      Schade eigentlich.

      Opera rafft nichtmal das mit dem checked-Attribut (mit [checked] statt [checked="checked"] tut's so wie im Gecko.

      Und daß der IE sowieso schon bei der ersten auftauchenden [ versagt, ist ja nichts neues.

      cu,
      Andreas

      --
      Warum nennt sich Andreas hier MudGuard?
      Fachfragen per E-Mail halte ich für unverschämt und werde entsprechende E-Mails nicht beantworten. Für Fachfragen ist das Forum da.
      1. Hi,

        Theorie:

        habe ich auch überlegt, habe dann aber gleich vermutet, dass ja nicht das _Attribut_ verändert wird, sondern nur der interne Status. Dies _hätte_ auch durch den Attributwert geschehen können, zugegeben ;-)

        Schade eigentlich.

        Ja, in der Tat.

        Opera rafft nichtmal das mit dem checked-Attribut (mit [checked] statt [checked="checked"] tut's so wie im Gecko.

        Ui, dann handhabt er HTML intern wohl näher am IE (wenn man sich mit diesem mal das innerHTML eines XHTML-Elementes ansieht, kommt einem das Grausen ...) - wer ist überrascht? :-)

        Und daß der IE sowieso schon bei der ersten auftauchenden [ versagt, ist ja nichts neues.

        So wie der IE selbst ...

        Cheatah

        --
        X-Self-Code: sh:( fo:} ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
        X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
        X-Will-Answer-Email: No
        X-Please-Search-Archive-First: Absolutely Yes
        1. Hi,

          Ui, dann handhabt er HTML intern wohl näher am IE

          Ich hab sowieso immer mehr den Eindruck, daß der Opera zu einem IE mit rotem Logo verkommt ...

          cu,
          Andreas

          --
          Warum nennt sich Andreas hier MudGuard?
          Fachfragen per E-Mail halte ich für unverschämt und werde entsprechende E-Mails nicht beantworten. Für Fachfragen ist das Forum da.
          1. Hi,

            Ui, dann handhabt er HTML intern wohl näher am IE
            Ich hab sowieso immer mehr den Eindruck, daß der Opera zu einem IE mit rotem Logo verkommt ...

            ja, Opera war schon immer "kompatibel zu allem, egal wie schlecht", mit starker Tendenz zur Masse. Genau deswegen habe ich aber die Hoffnung, dass mit dem stetigen Verfall des IE in Zukunft die Qualität in Opera Oberhand gewinnt. Gefühlsmäßig passiert das auch schon.

            Cheatah

            --
            X-Self-Code: sh:( fo:} ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
            X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
            X-Will-Answer-Email: No
            X-Please-Search-Archive-First: Absolutely Yes
  2. hatte mal das gleiche problem und löste es anschliessend so:

    zu erst die funktion und nachher den formular tag:

    ##############################################

    <script language="JavaScript">
    <!--

    function checkformular(){
     if(document.reg.agb.checked == true){
      document.reg.Submit.disabled = false;
     }
     else{
      document.reg.Submit.disabled = true;
     }
    }
    //-->
    </script>

    <form action="blabla.php" method="post" name="reg">
    <input name="agb" type="checkbox" class="checkbox" onChange="checkformular()" onClick="checkformular()" value="checkbox">
    <input name="Submit" type="submit" class="button" value="Senden" disabled>
    </form>
    ##############################################

    ps: bin neu hier, gibt es eine code darstellungs funktion? :S

    1. Hi rafi,

      Und wenn der User Javascript deaktiviert hat?

      Dann kommt er weiter, ohne den Nutzungsbestimmungen, AGB oder was auch immer zustimmen zu müssen. Also für ein Verfahren, dass eventuell auch als rechtliche Grundlage dienen muss, ist das nichts.

      ps: bin neu hier, gibt es eine code darstellungs funktion? :S

      Nein, gibt es nicht, das Motto des Self Bereichs ist eben das Self, also selbermachen. Vollständige Codebeispiele sind eher unüblich. ;-)

      Wenn du sonst noch Fragen hast (z.B. wie man Links macht, Grafiken einbindet o.ä.) lies dir einfach mal die FAQ durch.

      Viel Spaß noch hier im Forum :-)

      MfG, Dennis.

      --
      Mein SelfCode: ie:{ fl:{ br:^ va:) ls:< fo:) rl:( n4:& ss:) de:> js:( ch:{ sh:( mo:} zu:|
      Zufällige Hinweise:
      ------------------------
      Sinnvolles Zitieren: Man zitiert nur Teilsätze des Vorposters
      auf die man sich bezieht! Nicht einfach alles.
      1. Hallo.

        Und wenn der User Javascript deaktiviert hat?

        Dann kommt er weiter, ohne den Nutzungsbestimmungen, AGB oder was auch immer zustimmen zu müssen.

        Bei mir ist genau das Gegenteil der Fall, denn wenn ich JS deaktiviere, kann ich den Button nicht bestätigen und somit würde ich im Ernstfall überhaupt nicht weiter kommen.

        Gruß, Ashura

        --

        Selfcode: sh:( fo:| ch:? rl:? br:^ n4:& ie:% mo:| va:) de:[ zu:| fl:( ss:{ ls:# js:|
        1. Hi Ashura,

          Bei mir ist genau das Gegenteil der Fall, denn wenn ich JS deaktiviere, kann ich den Button nicht bestätigen und somit würde ich im Ernstfall überhaupt nicht weiter kommen.

          Gut, war jetzt davon ausgegangen (dass muss von innen raus gekommen sein, ich gehöre wohl zu den Typen, bei denen alles auch immer ohne JS gehen muss ;-)) das das Disabled erst mit Javascript gesetzt wird und bei deaktiviertem Javascript der Button dann so oder so zur Verfügung steht.

          MfG, Dennis.

          --
          Mein SelfCode: ie:{ fl:{ br:^ va:) ls:< fo:) rl:( n4:& ss:) de:> js:( ch:{ sh:( mo:} zu:|
          Zufällige Hinweise:
          ------------------------
          Sinnvolles Zitieren: Man zitiert nur Teilsätze des Vorposters
          auf die man sich bezieht! Nicht einfach alles.
          1. Hallo.

            [...] und bei deaktiviertem Javascript der Button dann so oder so zur Verfügung steht.

            Da dem nicht so ist, ist dies eigentlich eine relativ effiziente Methode. Man überlege:

            • ein Formular, welches bei Einverständniserklärung zu einem geschützen Bereich weiterleitet
            • dieses wird mit Hilfe eines PHP-Scriptes verwirklicht

            Somit kann das Formular nur dann erfolgreich abgeschickt, und der Zugriff freigegeben werden, wenn die "checked" Option der Checkbox erfolgreich übermittelt werden konnte. Ist JS deaktiviert, so kann man nicht einmal versuchen, sich anderweitig Zugriff zu verschaffen.

            Ich gebe zu, ohne PHP geht es nicht, aber ist es eine von Grund auf sinnlose Idee, einen Zugriff auf diese Art und Weise zu schützen und damit zudem noch den Server zu entlasten?

            Gruß, Ashura

            --

            Selfcode: sh:( fo:| ch:? rl:? br:^ n4:& ie:% mo:| va:) de:[ zu:| fl:( ss:{ ls:# js:|
            1. Hi Ashura,

              [...] und bei deaktiviertem Javascript der Button dann so oder so zur Verfügung steht.

              Da dem nicht so ist, ist dies eigentlich eine relativ effiziente Methode. Man überlege:

              • ein Formular, welches bei Einverständniserklärung zu einem geschützen Bereich weiterleitet
              • dieses wird mit Hilfe eines PHP-Scriptes verwirklicht

              Somit kann das Formular nur dann erfolgreich abgeschickt, und der Zugriff freigegeben werden, wenn die "checked" Option der Checkbox erfolgreich übermittelt werden konnte. Ist JS deaktiviert, so kann man nicht einmal versuchen, sich anderweitig Zugriff zu verschaffen.

              Natürlich müssten alle folgeseiten auch in einen speziellen Schutz mit PHP gestellt werden. Wenn das vielleicht dann so 10 bis 20 Seiten sind, machst schon weniger Spaß ;-)

              Ich gebe zu, ohne PHP geht es nicht,

              doch ... mit jeder anderen beliebigen serverseitigen Scriptsprache deiner Wahl (Perl, Phyton ...) :->

              aber ist es eine von Grund auf sinnlose Idee, einen Zugriff auf diese Art und Weise zu schützen und damit zudem noch den Server zu entlasten?

              Du meinst jetzt mit Javascript? Hm, da kann man sich drüber streiten... Wie gesagt, meine Bedenken waren eben rechtliche - ansonsten ist der Dekansatz IHMO nicht von Grund auf sinnlos ;-)

              MfG, Dennis.

              --
              Mein SelfCode: ie:{ fl:{ br:^ va:) ls:< fo:) rl:( n4:& ss:) de:> js:( ch:{ sh:( mo:} zu:|
              Zufällige Hinweise:
              ------------------------
              Newbies aufgepasst: Auf viele Fragen findet man eine
              Antwort im Archiv, das man auch durchsuchen kann
              1. aber der button ist ja standartmässig desabled ;-)
                jo mit php nachchecken wäre sinnvoll

                gruss

                1. Hi rafi,

                  aber der button ist ja standartmässig desabled ;-)

                  Muss er aber nicht sein, er kann auch zu Beginn erst durch

                  document.getElementByName('Buttonname').disabled = true;

                  disabled werden. (Aufruf des Befehls nachdem der Button im HTML
                  erstellt wurde.)

                  Dann hat man bei deaktiviertem Javascript immer noch einen Button.

                  jo mit php nachchecken wäre sinnvoll

                  ich würde sogar so weit gehen und sagen: Alles andere als mit einer
                  serverseitigen Scriptsprache zu überprüfen ist unsinnvoll.

                  MfG, Dennis.

                  --
                  Mein SelfCode: ie:{ fl:{ br:^ va:) ls:< fo:) rl:( n4:& ss:) de:> js:( ch:{ sh:( mo:} zu:|
                  Zufällige Hinweise:
                  ------------------------
                  Bedeutung meines SelfCodes