Herbert1204: ausblenden und sichtbar machen

Hallo
Ich habe hier eine Seite mit einem Skript.
Auf der Seite befinden sich zwei Tabellen. Eine Tabelle ist ausgeblendet und die andere ist sichtbar.  Auf der sichtbaren Tabelle befindet sich ein Button. Durch Anklicken des Buttons wird die sichtbare Tabelle ausgeblendet und die andere sichtbar.
So weit so gut.
Nun soll durch Anklicken des Buttons die Ansicht nur geändert werden, wenn zuvor den Geschäftsbedingungen zugestimmt wurden.
Kann mir jemand dabei helfen?

<script language="JavaScript">
function TabellenIt(t) {
     v = t.id;
        if(v == '') {
            document.getElementById('Tabelle_1').style.display = 'inline';
            document.getElementById('Tabelle_2').style.display = 'none';
        }  else {
            document.getElementById('Tabelle_1').style.display = 'none';
            document.getElementById('Tabelle_2').style.display = 'inline';
        }
    }
</script>

<form>

<table border="1" id="Tabelle_2">
    <tr>
        <td width="964">
<input type="checkbox" name="Nutzungsbedingungen"><font face="Arial"><span style="font-size:11pt;">Ich stimme den <a href="http://">Nutzungsbedingungen</a> zu.</span></font><p>
<input type="button" value="zustimmen" onclick="TabellenIt(this);" style="font-size:large;">
            <p>&nbsp;</p>
            <p>&nbsp;</p>
            <p>&nbsp;</p>
        </td>
    </tr>
</table>

<table border="1" width="964" id="Tabelle_1" style="display:none;">
    <tr>
        <td>
    <font face="arial"><span style="font-size:20pt;">Den Nutzungsbedingungen wurde zugestimmt.</span></font>
            <p>&nbsp;</p>
        </td>
    </tr>
</table>

</form>

  1. Hi there,

    Dein t.id wird nie etwas Brauchbares enthalten, weil sich "this" auf das <input>-Element bezieht und nicht auf die (in diesem Fall komplett falsch verwendete) Tabelle.
    Ich würde das nicht mit einem Button sondern mit einer Checkbox realisieren, dann kannst Du mit onclick="TabellenIt(this.checked)" den Zustand (aktiviert  oder nicht aktiviert) abfragen - in der Funktion selbst wertest Du dann den Parameter entsprechend aus...

    1. Hi there,

      Dein t.id wird nie etwas Brauchbares enthalten, weil sich "this" auf das <input>-Element bezieht und nicht auf die (in diesem Fall komplett falsch verwendete) Tabelle.
      Ich würde das nicht mit einem Button sondern mit einer Checkbox realisieren, dann kannst Du mit onclick="TabellenIt(this.checked)" den Zustand (aktiviert  oder nicht aktiviert) abfragen - in der Funktion selbst wertest Du dann den Parameter entsprechend aus...

      Hallo Klawischnigg
      Danke für Deine schnelle Antwort. Leider verstehe ich nicht ganz wie Du das meinst. Übrigens hatte ich auch eine Checkbox auf der Seite. Der Button war nur so groß, daß man die Checkbox leicht übersehen konnte.

      Es sollte so funktionieren, daß vor dem Anklicken des Buttons überprüft wird, ob die Checkbox gecheckt ist.

      Daher weiß ich nicht, ob ich dafür ein Skript benötige, oder ob ein einfaches     <form action="" method="get">    ausreichen würde.

      Kannst Du das Ganze für mich komplett fertig schreiben?

      Im Voraus schon einmal Vielen Dank!!!!!

      1. @@Herbert1204:

        nuqneH

        Es sollte so funktionieren, daß vor dem Anklicken des Buttons überprüft wird, ob die Checkbox gecheckt ist.

        Daher weiß ich nicht, ob ich dafür ein Skript benötige

        Nein, benötigst du nicht. Moderne Browser verstehen

        <form action="">  
          <input type="checkbox" [link:http://www.w3.org/TR/html5-author/common-input-element-attributes.html#the-required-attribute@title=required]="required"/>  
          <button type="submit">Absenden</button>  
        </form>
        

        und geben beim Click auf den Absende-Button bei nicht angewählter Checkbox eine entsprechende Meldung aus.

        Ob du den Aufwand betreiben willst, das für alte Browser mit JavaScript nachzubauen, musst du wissen. Severseitig solltes du sowieso prüfen, ob das Häkchen gesetzt wurde.

        Kannst Du das Ganze für mich komplett fertig schreiben?

        Ähm, was zahlst du?

        Qapla'

        --
        Wer möchte nicht lieber durch Glück dümmer als durch Schaden klüger werden? (Salvador Dalí)
        1. @@Herbert1204:

          nuqneH

          Es sollte so funktionieren, daß vor dem Anklicken des Buttons überprüft wird, ob die Checkbox gecheckt ist.

          Daher weiß ich nicht, ob ich dafür ein Skript benötige

          Nein, benötigst du nicht. Moderne Browser verstehen

          <form action="…">

          <input type="checkbox" [link:http://www.w3.org/TR/html5-author/common-input-element-attributes.html#the-required-attribute@title=required]="required"/>
            <button type="submit">Absenden</button>
          </form>

          
          >   
          > und geben beim Click auf den Absende-Button bei nicht angewählter Checkbox eine entsprechende Meldung aus.  
          >   
          > Ob du den Aufwand betreiben willst, das für alte Browser mit JavaScript nachzubauen, musst du wissen. Severseitig solltes du sowieso prüfen, ob das Häkchen gesetzt wurde.  
          >   
          >   
          > > Kannst Du das Ganze für mich komplett fertig schreiben?  
          >   
          > Ähm, was zahlst du?  
          >   
          > Qapla'  
            
            
            
            
            
            
            
            
            
            
            
          Hallo  
          Vielen Dank für Eure Antworten.  
          Mein Problem ist immer, daß ich nicht weiß, wie ich das Ganze verständlich schreiben soll.  
          Also: von der Checkbox hatte ich geschrieben, weil ich der Meinung war, wenn das bei einer Checkbox funktioniert, funktioniert das bei allen <input>.  
            
          Aber eigentlich sollte ein <text> überprüft werden. Denn wenn das Textfeld beim Anklicken des <submit> leer ist, gibt es keine Möglichkeit mehr die fehlenden Daten zu vervollständigen.  
            
            
          
          
          1. @@Herbert1204:

            nuqneH

            Mein Problem ist immer, daß ich nicht weiß, wie ich das Ganze verständlich schreiben soll.

            Schreiben mag eins deiner Probleme sein, Lesen wohl ein anderes. Die Erklärung zu @required bspw.

            Qapla'

            --
            Wer möchte nicht lieber durch Glück dümmer als durch Schaden klüger werden? (Salvador Dalí)
      2. Hi there,

        Danke für Deine schnelle Antwort. Leider verstehe ich nicht ganz wie Du das meinst. Übrigens hatte ich auch eine Checkbox auf der Seite. Der Button war nur so groß, daß man die Checkbox leicht übersehen konnte.

        Das ist kein Argument. Eine Seite muss zuerst funktionieren, ehe Du Dich an das Aussehen der Seite (interessiert ohnehin niemanden ausser den Kunden und den großartigen, von sich selbst ergriffenen Webdesigner) machst und evtl. noch die Bedienbarkeit verbesserst.

        Es sollte so funktionieren, daß vor dem Anklicken des Buttons überprüft wird, ob die Checkbox gecheckt ist.

        Dann mach das doch, in dem Du die Form vor dem Absenden mit onsubmit überprüfst. Die letzte (und einzige relevante) Überprüfung musst Du ohnehin auf dem Server machen, wenn Dein Zustimmungsanklick irgendeinen rechtlich zumindest diskutierbaren Sinn machen soll.

        Kannst Du das Ganze für mich komplett fertig schreiben?

        Der war gut. Darf ich das Ganze wenn es fertig ist persönlich vorbeibringen? Vielleicht noch mit einem Stück Torte und einer Flasche Chateau d'Yquem?

        Im Voraus schon einmal Vielen Dank!!!!!

        Aber kein Problem, ich bezieh' den Wein ohnehin über den Großhandel...

  2. @@Herbert1204:

    nuqneH

    Durch Anklicken des Buttons wird die sichtbare Tabelle ausgeblendet und die andere sichtbar.
    So weit so gut.

    Nein, so weit so schlecht.

    Nun soll durch Anklicken des Buttons die Ansicht nur geändert werden, wenn zuvor den Geschäftsbedingungen zugestimmt wurden.

    Und wenn ich nun mit dem Entwicklerwerkzeug meines Browsers die unsichtbare Tabelle sichtbar mache, dann kann ich auf deiner Seite fortfahren, ohne den Geschäftsbedingungen zugestimmt zu haben? Wir sehen uns vor Gericht … ;-)

    Sende das Formular ab und lade (nach erfolgter serveseitiger Prüfung, ob das Häckchen bei den Geschäftsbedingungen gesetzt wurde) eine neue Seite!

    Qapla'

    --
    Wer möchte nicht lieber durch Glück dümmer als durch Schaden klüger werden? (Salvador Dalí)
    1. Hallo Gunnar,

      [...] das Häckchen [...]

      oh weh, du bist auch schon infiziert?

      *scnr*
       Martin

      --
      Wer barfuß geht, dem kann man nicht die Schuld in die Schuhe schieben.
      Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:(
      1. @@Der Martin:

        nuqneH

        [...] das Häckchen [...]
        oh weh, du bist auch schon infiziert?

        Ich hoffe, nicht.

        Ich konnte Gartenarbeit auch noch nie leiden.

        Qapla'

        --
        Wer möchte nicht lieber durch Glück dümmer als durch Schaden klüger werden? (Salvador Dalí)
  3. @@Herbert1204:

    nuqneH

    <font face="Arial"><span style="font-size:11pt;">

    Öhm, du weißt schon, dass man die Schriftgröße auch ganz ohne CSS mittels @size-Attribut angeben kann? >;-)

    Lies: Verwende keine HTML-Elemente und -Attribue zum Stylen, sondern CSS. Und zwar gesammelt im Stylesheet, nicht inline in @style-Attributen.

    Und verwende keine Tabellen zum Layouten!

    <p>&nbsp;</p>
                <p>&nbsp;</p>
                <p>&nbsp;</p>

    Was bitte soll das denn?

    Qapla'

    --
    Wer möchte nicht lieber durch Glück dümmer als durch Schaden klüger werden? (Salvador Dalí)