Kalle_Worms: Tabelle teilweise ausblenden

0 54

Tabelle teilweise ausblenden

Kalle_Worms
  • css
  1. 0
    Eternius
  2. 1
    Gernot Back
    1. 0
      Dennis
      1. 1
        Tim Tepaße
        1. 0
          Dennis
          1. 0
            Christian Seiler
            1. 0
              Dennis
      2. 0
        Sebastian Salzgeber
        1. 1
          Tim Tepaße
    2. 0
      Gernot Back
      1. 0
        molily
      2. 0
        Cybaer
        • javascript
        1. 0

          Tabelle teilweise - Version 3

          Gernot Back
          • css
          1. 0

            Tabelle teilweise - Version 4

            Cybaer
            1. 0
              Gernot Back
              1. 0
                Cybaer
            2. 0
              Ingo Turski
              • zu diesem forum
              1. 0
                Cybaer
                1. 0
                  Ingo Turski
                  1. 0
                    Christian Kruse
                  2. 0
                    Cybaer
                    1. 0
                      Ingo Turski
                      1. 0
                        Cybaer
                        1. 0
                          Ingo Turski
                          1. 0
                            Cybaer
                            1. 0
                              Ingo Turski
                              1. 0
                                Cybaer
              2. 0

                Syntax-Highlighting im Moment generell defekt?

                Gernot Back
                1. 1
                  Christian Kruse
                  1. 0
                    MudGuard
  3. 1
    Tim Tepaße
    • html
    1. 0
      Gernot Back
      1. 0
        Ashura
      2. 1
        Tim Tepaße
        1. 0
          Gernot Back
          1. 0

            Codeansicht

            Ingo Turski
            • zu diesem forum
            1. 1
              Tim Tepaße
              1. 0
                Ingo Turski
              2. 0
                Gernot Back
                1. 0
                  Tim Tepaße
                  1. 0
                    Gernot Back
                    1. 0
                      Ashura
                    2. 0
                      MudGuard
                      1. 0
                        Gernot Back
                        1. 0
                          Christian Kruse
                          1. 0
                            MudGuard
                            1. 0
                              Christian Kruse
            2. 0
              Christian Kruse
  4. 0
    Gunnar Bittersmann
    1. 0
      Gernot Back
      • javascript
      1. 0
        Cybaer
    2. 0
      Kalle_Worms
      1. 0
        Gunnar Bittersmann

Hallöle,

ich habe mal wieder eine große Tabelle (mit PHP erstellt). Sie hat Gruppenüberschriften, dann folgen Zeilen mit Eingabefeldern.

Wegen der Übersichtlichkeit möchte ich NUR die Überschrift anzeigen und bei Klick mit JavaScript die zugehörigen Folgezeilen einblenden.

Aber das Wegblenden in der Tabelle klappt nicht:

#gruppe1 { display:none }

<table>
<tr><td>Gruppe 1</td></tr>
<div id='gruppe1'>
<tr><td>Artikel 1-1: <input ...></td></tr>
<tr><td>Artikel 1-2: <input ...></td></tr>
</div>
<tr><td>Gruppe 2</td></tr>
<div id='gruppe2'>
<tr><td>Artikel 2-1: <input ...></td></tr>
<tr><td>Artikel 2-2: <input ...></td></tr>
</div>
</table>

Wie geht es?

LG Kalle

  1. Hallo,

    http://de.selfhtml.org/html/tabellen/aufbau.htm#kopf_koerper_fuss

    gruss

    --
    no strict;
    no warnings;
    Zucker ist das, was dem Kaffee den schlechten Geschmack gibt, wenn man es nicht hineintut.
  2. Hallo Kalle_Worms,

    Aber das Wegblenden in der Tabelle klappt nicht:

    da wo du es platziert hast, hat ein <div>-Element ja auch wahrlich nichts verloren. eine ganze Table-Row wegzublenden ist aber kein Problem. Später solltest du es dann auch wieder einblenden über display:table-row. Gib deinen Tabellenzeilen IDs à la A1 für die erste Zeile der Gruppe und A2 für die zweite, leg entsprechende Arrays an dann -denke ich- kannst du die Dinger auch gemeinsam mit JS ein- und ausblenden.

    Gruß Gernot

    1. Hi Gernot,

      Gib deinen Tabellenzeilen IDs à la A1 für die erste Zeile der Gruppe und A2 für die zweite, leg entsprechende Arrays an dann -denke ich- kannst du die Dinger auch gemeinsam mit JS ein- und ausblenden.

      Kann man mit Javascript eigentlich auch die CSS Eigenschaften einer CSS Klasse ändern? Wäre doch wesentlich praktischer hier ;-)

      MfG, Dennis.

      --
      Mein SelfCode: ie:{ fl:( br:> va:) ls:[ fo:) rl:( n4:# ss:) de:] js:| ch:{ sh:( mo:} zu:|
      That's life - Es gibt im Leben[tm] keine Zurück-Taste. (Fabian Transchel)
      1. Hallo Dennis,

        Kann man mit Javascript eigentlich auch die CSS Eigenschaften einer CSS Klasse ändern? Wäre doch wesentlich praktischer hier ;-)

        http://de.selfhtml.org/javascript/objekte/style.htm

        Tim

        1. Hi Tim,

          Kann man mit Javascript eigentlich auch die CSS Eigenschaften einer CSS Klasse ändern? Wäre doch wesentlich praktischer hier ;-)

          http://de.selfhtml.org/javascript/objekte/style.htm

          Ich glaube wir reden etwas aneinander vorbei - ich meinte nicht einzelne Elemente direkt formatieren, sondern ein CSS Klasse beeinflussen, also so:

          <style type="text/css">
          <!--
            .meineklasse { color:#0000FF; }
          -->
          </style>

          Und jetzt soll meineklasse den color Wert #FF0000 haben - geht so was auch?

          MfG, Dennis.

          --
          Mein SelfCode: ie:{ fl:( br:> va:) ls:[ fo:) rl:( n4:# ss:) de:] js:| ch:{ sh:( mo:} zu:|
          Auf viele Fragen weiß auch Wikipedia eine Antwort.
          1. Hallo Dennis,

            Ich glaube wir reden etwas aneinander vorbei - ich meinte nicht einzelne Elemente direkt formatieren, sondern ein CSS Klasse beeinflussen, also so:

            <style type="text/css">
            <!--
              .meineklasse { color:#0000FF; }
            -->
            </style>

            Und jetzt soll meineklasse den color Wert #FF0000 haben - geht so was auch?

            Guck Dir mal < http://www.quirksmode.org/dom/changess.html> an.

            Viele Grüße,
            Christian

            1. Hi Christian,

              Guck Dir mal http://www.quirksmode.org/dom/changess.html an.

              Sieht auf den ersten Blick gut aus - habs mir gebookmarked, werde mir das dann mal bei Gelegenheit zu Gemüte führen. Thx.

              MfG, Dennis.

              --
              Mein SelfCode: ie:{ fl:( br:> va:) ls:[ fo:) rl:( n4:# ss:) de:] js:| ch:{ sh:( mo:} zu:|
              Das Leben ist kein Warenhaus - es nimmt nichts zurück. (Anette Louisan)
      2. ERROR: Standard-Begrüssung #128 not found

        Habe ich mich auch schon oft gefragt...

        Ich muss immer so doof ne ganz eigene klasse haben nur weil bei onmouseover an einer stelle der bg blau werden soll...

        <MFG>
        Sebastian Salzgeber
        </MFG>
        (aka:Indyaner)

        --
        www.indyaner.de
        indyaner[AT]indyaner[DOT]de
        Graphicdesign + Webdesign
        und ach: Pakete werden jetzt mit $_DHL verschickt und nichtmehr mit $_POST =)
        sh:) fo:| ch:{ rl:( br:& n4:~ ie:| mo:? va:{ de:< zu:| fl:) ss:| ls:< js:|
        1. Hallo Sebastian,

          Ich muss immer so doof ne ganz eigene klasse haben nur weil bei onmouseover an einer stelle der bg blau werden soll...

          Wenn Du das ganze direkt in den Event-Handler im HTML-Element reinschreibst, dann empfiehlt sich das Objekt this, das auf das aktuelle Element Bezug nimmt, hier also auf das aufrufende Objekt.

          Tim

    2. Hallo nochmal,

      Später solltest du es dann auch wieder einblenden über display:table-row. Gib deinen Tabellenzeilen IDs à la A1 für die erste Zeile der Gruppe und A2 für die zweite, leg entsprechende Arrays an dann -denke ich- kannst du die Dinger auch gemeinsam mit JS ein- und ausblenden.

      Ich habe mal was gebastelt, das auch ohne von Hand angelegte Arrays ankommt und stattdessen mit indexOf() arbeitet. Der IE muss display:block haben, um die Zeilen einzublenden, Opera und Mozilla können das hingegen dem Standard entsprechend.

        
      <!doctype html public "-//W3C//DTD HTML 4.0 //EN">  
      <html>  
      <head>  
      <title>Tabellenteile wegblenden</title>  
      <meta name="author" content="Gernot Back">  
      <meta name="generator" content="Ulli Meybohms HTML EDITOR">  
      <script language="JavaScript">  
      <!--  
      [code lang=javascript]  
      var zeilen;  
      function init () {  
        zeilen = document.getElementsByTagName('tr');  
      }  
        
      function einaus (was) {  
        for (i=0; i<zeilen.length ; i++ ) {  
          if(zeilen[i].id.indexOf(was)>=0) {  
            if(zeilen[i].style.display=='none') {  
              if(document.all&&!window.opera) {  
                 zeilen[i].style.display='block';  
              } else {  
                 zeilen[i].style.display='table-row';  
              }  
            } else {  
              zeilen[i].style.display='none';  
            }  
          }  
        }  
      }  
      
      

      //-->
      </script>
      </head>
      <body onLoad="init()">
      <table border="1" width="100%">
      <tr>
      <th colspan="2"><a href="#" onClick="einaus('gruppeA')">Gruppe A</a></th>
      </tr>
      <tr id="gruppeA1" style="display:none">
      <td>&nbsp;</td>
      <td>&nbsp;</td>
      </tr>
      <tr  id="gruppeA2" style="display:none">
      <td>&nbsp;</td>
      <td>&nbsp;</td>
      </tr>
      <tr id="gruppeA3" style="display:none">
      <td >&nbsp;</td>
      <td>&nbsp;</td>
      </tr>
      <tr>
      <th colspan="2"><a href="#" onClick="einaus('gruppeB')">Gruppe B</a></th>
      </tr>
      <tr id="gruppeB1" style="display:none">
      <td>&nbsp;</td>
      <td>&nbsp;</td>
      </tr>
      <tr id="gruppeB2" style="display:none">
      <td>&nbsp;</td>
      <td>&nbsp;</td>
      </tr>
      <tr  id="gruppeB3" style="display:none">
      <td>&nbsp;</td>
      <td>&nbsp;</td>
      </tr>
      <tr>
      <th colspan="2"><a href="#" onClick="einaus('gruppeC')">Gruppe C</a></th>
      </tr>
      <tr id="gruppeC1" style="display:none">
      <td>&nbsp;</td>
      <td>&nbsp;</td>
      </tr>
      <tr id="gruppeC2" style="display:none">
      <td>&nbsp;</td>
      <td>&nbsp;</td>
      </tr>
      <tr  id="gruppeC3" style="display:none">
      <td>&nbsp;</td>
      <td>&nbsp;</td>
      </tr>
      </table>
      </body>
      </html>
      [/code]

      Gruß Gernot

      1. if(document.all&&!window.opera) {
                   zeilen[i].style.display='block';

        Achtung, diese Abfrage ergibt auch im Konqueror true.

      2. Hi,

        if(document.all&&!window.opera) {
                   zeilen[i].style.display='block';
                } else {
                   zeilen[i].style.display='table-row';
                }

        Von der bereits erwähnten Fehleranfälligkeit abgesehen, ist dieses Konstrukt sowieso unnötig!

        Aus Coding: Darstellungswechsel - Un-/Sichtbare Elemente: Ein-/Ausklappen, Verstecken, Transparenz, Farbe:

        ------------------------ schnipp ------------------------

        Anmerkung zu unfold: Um ein gefaltetes Element wieder sichtbar zu machen, löscht toggle() den Wert der verwendeten CSS-Eigenschaft display (display=""). So kann man allerdings nur Elemente entfalten, wenn sie vorher auch mit JavaScript gefaltet wurden, aber leider nicht, wenn dies direkt via Style-Angabe geschah (style="display:none"). Zwar sollte man i.d.R. nur mit JavaScript falten, damit sichergestellt ist, daß Browser ohne JavaScript alles darstellen, während man bei JavaScript-Browsern davon ausgehen kann, daß sie auch entfalten können, was sie vorher selbst gefaltet haben, aber die Ausnahme bestätigt bekanntlich die Regel. ;-) Wurde aber nur mit CSS gefaltet, muß explizit die gewünschte Darstellungsart übergeben werden, indem man hinter der gewünschten Aktion, durch einen Doppelpunkt getrennt, auch die gewünschte Darstellungsart übergibt!

        ------------------------ schnapp ------------------------

        Fazit: Zum Entfalten bedarf es nur der korrekten, Browser-abhängigen Angabe, wenn man mit CSS versteckt hat. Nicht aber, wenn dies mit JS geschehen ist, was ja hier ohnehin, aus bereits genannten Gründen, zu bevorzugen ist.

        Gruß, Cybaer

        --
        Hinweis an Fragesteller: Fremde haben ihre Freizeit geopfert, um Dir zu helfen. Helfe Du auch im Archiv Suchenden: Beende deinen Thread mit einem "Hat geholfen" oder "Hat nicht geholfen"!
        1. Hallo Cybaer,

          Aus Coding: Darstellungswechsel - Un-/Sichtbare Elemente: Ein-/Ausklappen, Verstecken, Transparenz, Farbe:

          ich glaube ich sollte dein Schatzkästlein mal systematisch durchwühlen, das lohnt sich ja wirklich.

          Ich habe jetzt mal noch eine neue Variante geschrieben, die hoffentlich alle bisherigen Anregungen in diesem Thread berücksichtigt. Dabei sind der JS- und der HTML-Code auch deutlich schlanker geworden. Vor allem ist jetzt auch semantisch gesehen mehr Logik drin, weil die Überschriften jetzt mit zu den Tabellenbereichen gehören, die sie bezeichnen. Gemeinsam ein- und ausgeblendet werden jetzt die td-Nachfahren der jeweiligen tbody-Elemente, deren th-Nachfahren bleiben unberührt.

          Allerdings gibt es jetzt mehr CSS. Erstaunlicherweise braucht der IE hier dennoch keine Extrawurst, jedenfalls nicht, was die Display-Eigenschaft angeht. Da er "table-cell" ja meines Wissens nicht versteht, nimmt er halt einfach das, was bei ihm fälschlicherweise als Default-Wert gilt:"block", den er anders als die anderen Browser bei Tabellenzellen dann aber doch wie "table-cell" darstellt.

          Für die Borders bei den th-Zellen musste ich dem IE allerdings doch eine Extrawurst braten, sonst wäre es mit dem Collapsing nichts gewesen und ich hätte bei zusammengefalteten Bereichen unerwünschte Abstände gehabt. Für die anderen Browser hätte es eines Typselektors für "th" gar nicht bedurft:

            
          <!doctype html public "-//W3C//DTD HTML 4.0 //EN">  
          <html>  
          <head>  
          <title>Tabellenteile wegblenden - Version 3</title>  
          <meta name="author" content="Gernot Back">  
          <meta name="generator" content="Ulli Meybohms HTML EDITOR">  
          <style type="text/css">  
          <!--  
          [code lang=css]  
          table {  
            width:100%;  
            border-collapse:collapse;  
            border:solid 1px #000000;  
          }  
            
          th {  
            border-top:solid 1px #000000;  
          }  
            
          tbody.hide td{  
            display:none;  
          }  
            
          tbody.show td{  
            display:table-cell;  
            border:solid 1px #000000;  
          }  
          
          

          -->
          </style>
          <script type="text/javascript" language="JavaScript">
          <!--

            
          function init () {  
            var grupos = document.getElementsByTagName('tbody');  
            for (i=0; i<grupos.length; i++ ) {  
               grupos[i].className='hide';  
            }  
          }  
            
          function einaus (was) {  
            var gruppe = was.parentNode.parentNode.parentNode;  
            if(gruppe.className=='hide') {  
              gruppe.className='show';  
            } else {  
              gruppe.className='hide';  
            }  
          }  
          
          

          //-->
          </script>
          </head>
          <body onLoad="init()">
          <table>
          <tbody>
          <tr>
          <th colspan="2"><a href="#" onClick="einaus(this)">Gruppe A</a></th>
          </tr>
          <tr>
          <td>&nbsp;</td>
          <td>&nbsp;</td>
          </tr>
          <tr>
          <td>&nbsp;</td>
          <td>&nbsp;</td>
          </tr>
          <tr>
          <td>&nbsp;</td>
          <td>&nbsp;</td>
          </tr>
          </tbody>
          <tbody>
          <tr>
          <th colspan="2"><a href="#" onClick="einaus(this)">Gruppe B</a></th>
          </tr>
          <tr>
          <td>&nbsp;</td>
          <td>&nbsp;</td>
          </tr>
          <tr>
          <td>&nbsp;</td>
          <td>&nbsp;</td>
          </tr>
          <tr>
          <td>&nbsp;</td>
          <td>&nbsp;</td>
          </tr>
          </tbody>
          <tbody>
          <tr>
          <th colspan="2"><a href="#" onClick="einaus(this)">Gruppe C</a></th>
          </tr>
          <tr>
          <td>&nbsp;</td>
          <td>&nbsp;</td>
          </tr>
          <tr>
          <td>&nbsp;</td>
          <td>&nbsp;</td>
          </tr>
          <tr>
          <td>&nbsp;</td>
          <td>&nbsp;</td>
          </tr>
          </tbody>
          </table>
          </body>
          </html>
          [/code]

          Gruß Gernot

          1. Hi,

            ich glaube ich sollte dein Schatzkästlein mal systematisch durchwühlen, das lohnt sich ja wirklich.

            Ist ja noch überschaubar. ;-)

            Ich habe jetzt mal noch eine neue Variante geschrieben, die hoffentlich alle bisherigen Anregungen in diesem Thread berücksichtigt.

            Nein. Es bleibt das Problem, daß bei *großen* Tabellen selbige erst dargestellt, dann erst eingeklappt wird.

            Besser: init() in die Tabelle - und: die ohne JS nutzlosen Links raus! =;-o

            Und, natürlich, eine Abfrage, ob es überhaupt klappen kann.

            Last, but nor least: Daß die Zellenrahmen ans Ausklappen gekoppelt sind, ist sinnlos. Sie sollten auch zu sehen sein, wenn nicht ausgeklappt werden kann (und somit: auch nicht eingeklappt werden konnte! =;-)).

            Daraus ergibt sich folgender Code:

              
            <!doctype html public "-//W3C//DTD HTML 4.0 //EN">  
            <html>  
            <head>  
            <title>Tabellenteile wegblenden - Version 4</title>  
            <style type="text/css">  
            <!--  
            table {  
              width:100%;  
              border-collapse:collapse;  
              border:solid 1px #000000;  
            }  
              
            th {  
              border-top:solid 1px #000000;  
            }  
              
            td {  
              border:solid 1px #000000;  
            }  
              
            tbody.hide td{  
              display:none;  
            }  
              
            tbody.show td{  
              display:table-cell;  
            }  
              
            tbody.hide th{  
              cursor:pointer; cursor:hand;  
            }  
              
            tbody.show th{  
              cursor:pointer; cursor:hand;  
            }  
              
            -->  
            </style>  
            <script type="text/javascript" language="JavaScript">  
            <!--  
            function init () {  
             if(document.getElementsByTagName) {  
              var grupos = document.getElementsByTagName('tbody');  
              for (i=0; i<grupos.length-1; i++ ) {  
                 grupos[i].className='hide';  
              }  
             }  
            }  
              
            function einaus (was) {  
             if(was.parentNode) {  
              var gruppe = was.parentNode.parentNode;  
              if(gruppe.className=='hide') {  
                gruppe.className='show';  
              } else {  
                gruppe.className='hide';  
              }  
             }  
            }  
              
            //-->  
            </script>  
            </head>  
            <body>  
            <table>  
            <tbody>  
            <tr>  
            <th colspan="2" onClick="einaus(this)">Gruppe A</th>  
            </tr>  
            <tr>  
            <td>&nbsp;</td>  
            <td>&nbsp;</td>  
            </tr>  
            <tr>  
            <td>&nbsp;</td>  
            <td>&nbsp;</td>  
            </tr>  
            <tr>  
            <td>&nbsp;</td>  
            <td>&nbsp;</td>  
            </tr>  
            </tbody>  
            <tbody>  
            <tr>  
            <th colspan="2" onClick="einaus(this)">Gruppe B</th>  
            </tr>  
            <tr>  
            <td>&nbsp;</td>  
            <td>&nbsp;</td>  
            </tr>  
            <tr>  
            <td>&nbsp;</td>  
            <td>&nbsp;</td>  
            </tr>  
            <tr>  
            <td>&nbsp;</td>  
            <td>&nbsp;</td>  
            </tr>  
            </tbody>  
            <tbody>  
            <tr>  
            <th colspan="2" onClick="einaus(this)">Gruppe C</th>  
            </tr>  
            <tr>  
            <td>&nbsp;</td>  
            <td>&nbsp;</td>  
            </tr>  
            <tr>  
            <td>&nbsp;</td>  
            <td>&nbsp;</td>  
            </tr>  
            <tr>  
            <td>&nbsp;</td>  
            <td>&nbsp;</td>  
            </tr>  
            </tbody>  
            <tbody style="display:none;">  
            <tr>  
            <td colspan="2"><script type="text/javascript" language="JavaScript">init()</script></td>  
            </tr>  
            </tbody>  
            </table>  
            </body>  
            </html>  
            
            

            Gruß, Cybaer

            --
            Hinweis an Fragesteller: Fremde haben ihre Freizeit geopfert, um Dir zu helfen. Helfe Du auch im Archiv Suchenden: Beende deinen Thread mit einem "Hat geholfen" oder "Hat nicht geholfen"!
            1. Hallo Cybaer,

              Nein. Es bleibt das Problem, daß bei *großen* Tabellen selbige erst dargestellt, dann erst eingeklappt wird.

              Besser: init() in die Tabelle - und: die ohne JS nutzlosen Links raus! =;-o

              Hast Recht, solche Links für onClick schreibe ich aus alter Gewohnheit für Netscape4, der hier ja aufgrund gleich mehrerer Objekte und Eigenschaften (node, className) gar nicht erst bedient wird.

              Last, but nor least: Daß die Zellenrahmen ans Ausklappen gekoppelt sind, ist sinnlos. Sie sollten auch zu sehen sein, wenn nicht ausgeklappt werden kann (und somit: auch nicht eingeklappt werden konnte! =;-)).

              Mist, das hatte ich ursprünglich auch drin;

                
              td,th {  
                border:solid 1px #000000;  
              }  
              
              

              ... bis ich feststellen musste, dass der IE für th eine Extrawurst bracht, was mich verleitet hat, an falscher Stelle wieder was einzusparen.

              Mit deinem init() in der (großen) Tabelle bin ich mir aber nicht so sicher; baut sich diese nicht dennoch erst einmal sichtbar auf, bis das entsprechende Skript erreicht wird und klappt dann erst zu?

              Gruß Gernot

              1. Hi,

                Mit deinem init() in der (großen) Tabelle bin ich mir aber nicht so sicher; baut sich diese nicht dennoch erst einmal sichtbar auf, bis das entsprechende Skript erreicht wird und klappt dann erst zu?

                Ich habe es jetzt nicht konkret ausprobiert, aber wenn ich mit Layout-Tabellen arbeite, ist es so.

                Layout-Tabellen haben ja, anders als reines CSS-Layout, den Nachteil, daß der Surfer nicht den Seitenaufbau verfolgen kann. Dieser Nachteil ist aber ein Vorteil, wenn man noch beliebig im Inhalt "rumsauen" möchte! ;-> Der Surfer "wundert" sich dann nicht, was da denn jetzt noch alles passiert ... =;-)

                Gruß, Cybaer (ziemlich versaut! >;->)

                --
                Hinweis an Fragesteller: Fremde haben ihre Freizeit geopfert, um Dir zu helfen. Helfe Du auch im Archiv Suchenden: Beende deinen Thread mit einem "Hat geholfen" oder "Hat nicht geholfen"!
            2. Hi,

              <!doctype html public "-//W3C//DTD HTML 4.0 //EN">
              <html>
              <head>
              <title>Tabellenteile wegblenden - Version 4</title>
              <style type="text/css">
              <!--
              table {
                width:100%;
                border-collapse:collapse;
                border:solid 1px #000000;
              }

                
              schade... die (zudem völlig überflüssigen) Kommentare verhindern - ohne erneute Code-Angabe - das Syntax-Highlighting.  
                
              freundliche Grüße  
              Ingo
              
              -- 
              [[barrierefreie Webseitenerstellung](http://www.1ngo.de/web/) » [Suchmaschinenoptimierung](http://www.1ngo.de/web/seo.html) | [em?](http://www.1ngo.de/web/em.html)] ([Tanzschritte gesucht?](http://www.1ngo.de/tanz/);-)
              
              1. Hi,

                die (zudem völlig überflüssigen) Kommentare

                Wieso "völlig überflüssig"? Das sehe ich anders.

                Ich fände es hingegen völlig überflüssig, auf die Kommentar-Tags zu verzichten, nur für ein bißchen überflüssiges Bunti-Bunti! ;->

                Gruß, Cybaer

                --
                Hinweis an Fragesteller: Fremde haben ihre Freizeit geopfert, um Dir zu helfen. Helfe Du auch im Archiv Suchenden: Beende deinen Thread mit einem "Hat geholfen" oder "Hat nicht geholfen"!
                1. Hi,

                  die (zudem völlig überflüssigen) Kommentare

                  Wieso "völlig überflüssig"? Das sehe ich anders.

                  Für welche Browser willst Du heutzutage noch Script- oder Style-Bereiche auskommentieren?

                  Aber abgesehen davon, würde es diese Probleme mit dem Syntax-Highlighting nicht geben, wenn die Software Script- und Style-Tags interpretieren könnte und die passenden Code-Blöcke (innerhalb von code lang=html) generieren würde. Aber ich wiederhole mich, sorry.

                  freundliche Grüße
                  Ingo

                  1. 你好 Ingo,

                    Aber abgesehen davon, würde es diese Probleme mit dem Syntax-Highlighting
                    nicht geben, wenn die Software Script- und Style-Tags interpretieren
                    könnte und die passenden Code-Blöcke (innerhalb von code lang=html)
                    generieren würde. Aber ich wiederhole mich, sorry.

                    Abgesehen davon geht das nicht, und damit EOD. Ich kann das
                    Syntax-Highlighting auch einfach wieder ganz deaktivieren, habe ich gar
                    kein Problem mit.

                    再见,
                    克里斯蒂安

                    --
                    Microsoft: Where do you want to go today?
                    Linux: Where do you want to go tomorrow?
                    FreeBSD: Are you guys coming, or what?
                  2. Hi,

                    Wieso "völlig überflüssig"? Das sehe ich anders.
                    Für welche Browser willst Du heutzutage noch Script- oder Style-Bereiche auskommentieren?

                    Mal abgesehen vom Umstand, daß ich da noch einige auf meiner Platte habe:

                    Ich weiß es nicht - und kann es nicht wissen. Deswegen macht man es ja! ;)

                    Ob da noch ein "Rückständiger" mit z.B. Dreamcast- oder Metabox-Browser surft, oder der User, der seit der ersten Win95-Installation nicht mehr aktualisiert hat (er benutzte den IE 3 zum Surfen). Und solange die Rückwärtskompatibilität noch nicht mal Aufwand erfordert ... =;-)

                    Aber ich wiederhole mich. ;-)

                    Aber ich wiederhole mich, sorry.

                    Hatte ich Dir schon öffentlich aus vollem Herzen zugestimmt? Nein? Sei hiermit nachgeholt! ;-))

                    Gruß, Cybaer

                    --
                    Hinweis an Fragesteller: Fremde haben ihre Freizeit geopfert, um Dir zu helfen. Helfe Du auch im Archiv Suchenden: Beende deinen Thread mit einem "Hat geholfen" oder "Hat nicht geholfen"!
                    1. Hi,

                      Ich weiß es nicht - und kann es nicht wissen. Deswegen macht man es ja! ;)

                      hehe - dann wirst Du vom Selfhtml-Update vermulich enttäuscht sein...
                      Und bei Javascript mußt Du Dich u.U. ohnehin entscheiden, ob Du Uralt-Browser oder XML-Parser zufrieden stellen willst.

                      freundliche Grüße
                      Ingo

                      1. Hi,

                        hehe - dann wirst Du vom Selfhtml-Update vermulich enttäuscht sein...

                        Mag sein. Aber man kann bei einer definierten Zielgrupe, hier: der (angehenden) Webdesigner, sicherlich auch auf bestimmte Softwarevoraussetzungen bestehen. ;-)

                        Und bei Javascript mußt Du Dich u.U. ohnehin entscheiden, ob Du Uralt-Browser oder XML-Parser zufrieden stellen willst.

                        Netter Versuch! ;-> Aber da die <script> nicht kennen, werden sie von externen Scripts schonmal gar nicht tangiert! Und ein "<![CDATA[" ist für HTML-Browser ebenfalls ein unbekannter, mithin zu ignorierender Tag. 8-)

                        Gruß, Cybaer

                        --
                        Hinweis an Fragesteller: Fremde haben ihre Freizeit geopfert, um Dir zu helfen. Helfe Du auch im Archiv Suchenden: Beende deinen Thread mit einem "Hat geholfen" oder "Hat nicht geholfen"!
                        1. Hi,

                          Und bei Javascript mußt Du Dich u.U. ohnehin entscheiden, ob Du Uralt-Browser oder XML-Parser zufrieden stellen willst.

                          Netter Versuch! ;-> Aber da die <script> nicht kennen, werden sie von externen Scripts schonmal gar nicht tangiert!

                          das gilt jetzt nicht - oder setzt Du bei einer Auslagerung irgendwo einen HTML-Kommentar?

                          Und ein "<![CDATA[" ist für HTML-Browser ebenfalls ein unbekannter, mithin zu ignorierender Tag. 8-)

                          Korrekt - aber ich sprach xml-Parser an und die können den Inhalt von HTML-Kommentaren und damit eine evtl. erforderliche CDATA-Deklaration oder das komplette Script ignorieren.

                          freundliche Grüße
                          Ingo

                          1. Hi,

                            das gilt jetzt nicht - oder setzt Du bei einer Auslagerung irgendwo einen HTML-Kommentar?

                            Nein, aber Scripte lagere ich vorzugweise aus! ;-)

                            Korrekt - aber ich sprach xml-Parser an und die können den Inhalt von HTML-Kommentaren und damit eine evtl. erforderliche CDATA-Deklaration oder das komplette Script ignorieren.

                            Natürlich. Aber man nimmt ja *statt* des HTML-Kommentar eben den "unbekannten CDATA-Tag". Das Ergebnis, keine Anzeige des Scripts als Content, ist aus Sicht eines Uralt-HTML-Browsers nicht wesentlich anders! 8-)

                            Gruß, Cybaer

                            --
                            Hinweis an Fragesteller: Fremde haben ihre Freizeit geopfert, um Dir zu helfen. Helfe Du auch im Archiv Suchenden: Beende deinen Thread mit einem "Hat geholfen" oder "Hat nicht geholfen"!
                            1. Hi,

                              Natürlich. Aber man nimmt ja *statt* des HTML-Kommentar eben den "unbekannten CDATA-Tag". Das Ergebnis, keine Anzeige des Scripts als Content, ist aus Sicht eines Uralt-HTML-Browsers nicht wesentlich anders! 8-)

                              schön, dann sind wir ja doch einer Meinung, daß der HTML-Kommentar hier ausgedient hat? ;-)

                              freundliche Grüße
                              Ingo

                              1. Hi,

                                schön, dann sind wir ja doch einer Meinung, daß der HTML-Kommentar hier ausgedient hat? ;-)

                                Nein, nicht solange es sich um ein HTML-Dokument handelt! CDATA muß ja mit dem JavaScript-Kommentar // auskommentiert werden und die // sieht man halt in einem uralten Browser! Deswegen schrieb ich auch, daß das aus Sicht eines Uralt-HTML-Browsers "nicht wesentlich anders" sei, keineswegs schrieb ich, daß es "genauso" sei! :) Aber die // sind natürlich zu verschmerzen, wenn man HTML nicht mehr verwendet. Aber solange man es verwendet, solange gibt's den HTML-Kommentar! ;-))

                                Gruß, Cybaer

                                --
                                Hinweis an Fragesteller: Fremde haben ihre Freizeit geopfert, um Dir zu helfen. Helfe Du auch im Archiv Suchenden: Beende deinen Thread mit einem "Hat geholfen" oder "Hat nicht geholfen"!
              2. Hallo Ingo,

                schade... die (zudem völlig überflüssigen) Kommentare verhindern - ohne erneute Code-Angabe - das Syntax-Highlighting.

                Nein, das hat damit nichts zu tun. Das war nur ein Problem, wenn man die Blöcke nicht verschachtelt, sondern hintereinander setzt, so wie ich hier:

                https://forum.selfhtml.org/?t=103418&m=636960

                Im Moment scheint aber gar nichts zu funktionieren mit dem Syntax-Highlighting, offensichtlich weil überall das lang-Attribut verschwunden ist. Oder bin ich der Einzige, bei dem das so ist, möglicherweise aufgrund der Einstellungen an der Benutzeransicht, an der ich gestern gefummelt habe?

                Selbst hier, wo Christian die Auszeichnung meines Codes für mich übernommen hat, sehe ich kein Highlighting mehr.

                Falls es anderen ebenso geht wie mir, vielleicht erbarmt sich ja dann einer und meldet es dem Bugtracker.

                Gruß Gernot

                1. 你好 Gernot,

                  schade... die (zudem völlig überflüssigen) Kommentare verhindern - ohne
                  erneute Code-Angabe - das Syntax-Highlighting.

                  Nein, das hat damit nichts zu tun. Das war nur ein Problem, wenn man
                  die Blöcke nicht verschachtelt, sondern hintereinander setzt, so wie ich
                  hier:

                  https://forum.selfhtml.org/?t=103418&m=636960

                  In deinem Posting hatte ich einen Bug, der bereits behoben ist. De Fakto
                  ist es besser, Code-Bloecke zu verschachteln und nicht hintereinander zu
                  packen¹, aber es fuehrt nicht dazu, dass nichts mehr geht, im Gegenteil,
                  das klappt problemlos. Cybaer hat nur halt einfach sein CSS nicht als
                  solches ausgezeichnet, sondern alles in den lang=html-Block reingepackt.

                  ¹Die verschiedenen Code-Bloecke werden der Reihenfolge nach von innen nach
                  aussen abgearbeitet. Beispiel:

                  {code lang=html}
                  {code lang=javascript}
                  {/code}
                  {/code}
                  {code lang=c}
                  {/code}

                  Hier wird zuerst der JavaScript-Block bearbeitet, dann wird dessen Ergebnis
                  genommen und als HTML-Block verarbeitet. Danach kommt der C-Block dran.
                  Soweit erstmal zur Funktionsweise des BBCode-Parsers. Das Wissen ist
                  noetig, um das folgende zu verstehen:

                  Das Syntax-Highlighting funktioniert mit einer Art Stack-Maschine. Aufgrund
                  bestimmter Patterns (z. B. <!-- fuer Kommentare) kann man einen “Frame” auf
                  den Stack packen und bei einem anderen bestimmten Pattern wieder verlassen
                  (z. B. --> fuer Ende des Kommentars). Macht man nun eine folgende Struktur:

                  {code lang=html}
                  ...
                  <!--{/code}
                  {code lang=javascript}
                  {/code}
                  {code lang=html}-->
                  ...
                  {/code}

                  dann ist der Parser am Ende des ersten HTML-Blocks im Status "Kommentar".
                  Den muss er jetzt allerdings verlassen, weil der Block zuende ist, das
                  heisst also, die Auszeichnung fuer Kommentare wird geschlossen. Dann
                  beginnt der JavaScript-Block, soweit OK. Danach kommt wieder ein HTML-Block.
                  Der beginnt mit -->, was eigentlich noch als Kommentar ausgezeichnet werden
                  muesste. Da aber der Highlighter im falschen Status ist (naemlich dem
                  Start-Status) und nicht weiss, dass er sich eigentlich im Kommentar-Status
                  sein sollte, wird es auch nicht als Kommentar ausgezeichnet, sondern
                  schlicht ignoriert, weil es ein Pattern ist, das keinen Sinn ergibt.

                  Ich hoffe, jetzt ist klar, warum fuer eine korrekte[tm] Auszeichnung
                  verschachtelte {code}-Bloecke sinnvoller sind.

                  Im Moment scheint aber gar nichts zu funktionieren mit dem
                  Syntax-Highlighting, offensichtlich weil überall das lang-Attribut
                  verschwunden ist.

                  Nein, das funktioniert einwandfrei ;-) Du hast es in deiner
                  User-Konfiguration nur schlicht und ergreifend ausgeschaltet *hrhr*

                  再见,
                  克里斯蒂安

                  --
                  Kommt ein Vektor zur Drogenberatung: "Hilfe, ich bin linear abhaengig!"
                  1. Hi,

                    Ich hoffe, jetzt ist klar, warum fuer eine korrekte[tm] Auszeichnung
                    verschachtelte {code}-Bloecke sinnvoller sind.

                    Ich finde sie schon allein deshalb sinnvoller, weil ja auch die zu highlightenden Sprachen ineinander verschachtelt sind.

                    cu,
                    Andreas

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

    <div id='gruppe1'>
    <tr><td>Artikel 1-1: <input ...></td></tr>
    <tr><td>Artikel 1-2: <input ...></td></tr>
    </div>

    Wie Du ja schon erfahren hast, ist das div-Element hier fehl am Platz. Eternius hat Dir den richtigen Link in SELFHTMl gepostet, hier noch mal als Quelltext:

      
    <table>  
    ...  
    <tbody id="gruppe1">  
      <tr><td>...</td></tr>  
      <tr><td>...</td></tr>  
    </tbody>  
    <tbody id="gruppe2">  
     ...  
    </tbody>  
    ...  
    </table>  
    
    

    Das tbody-Element strukturiert eine Tabelle in verschiedene Bereiche über mehrere Zeilen und darf deswegen mehrmals vorkommen. Eventuell möchtest Du dann noch ein thead-Element für Deine Tabellenzellen verwenden, auch wenn mir das nach Deiner Beschreibung der Überschriften nicht ganz so wirklich zu passen scheint.

    Tim

    1. Hallo Tim,

      Das tbody-Element strukturiert eine Tabelle in verschiedene Bereiche über mehrere Zeilen und darf deswegen mehrmals vorkommen. Eventuell möchtest Du dann noch ein thead-Element für Deine Tabellenzellen verwenden, auch wenn mir das nach Deiner Beschreibung der Überschriften nicht ganz so wirklich zu passen scheint.

      danke, das wusste ich auch noch nicht

      Weißt du vielleicht das Code-lang-Wort, um JS-Bereiche hier in Postings richtig auszuzeichnen?

      lang=javascript scheint falsch zu sein, vielleicht lang=js?

      Gruß Gernot

      1. Hallo Gernot.

        lang=javascript scheint falsch zu sein, vielleicht lang=js?

        Hm?

        HTML:

          
        <script type="text/javascript>  
        alert("Hallo Welt!");  
        </script>  
        
        

        JavaScript:

          
        alert("Hallo Welt!");  
        
        

        Java (ich weiß, ist ja auch nur ein Versuch. ;) ):

          
        alert("Hallo Welt!");  
        
        

        Gruß, Ashura

        --
        Selfcode: sh:( fo:) ch:? rl:( br:^ n4:& ie:{ mo:) va:) de:> zu:) fl:( ss:( ls:# js:|
        Try it: Become an Opera Lover in 30 days
      2. Hallo Gernot,

        Weißt du vielleicht das Code-lang-Wort, um JS-Bereiche hier in Postings richtig auszuzeichnen? lang=javascript scheint falsch zu sein, vielleicht lang=js?

        Eigentlich müßte 'javascript' funktionieren. Hier findest Du eine Auflistung der bisherigen Patterndateien für das Syntaxhightlighting.

        Tim

        1. Hallo Tim,

          Eigentlich müßte 'javascript' funktionieren. Hier findest Du eine Auflistung der bisherigen Patterndateien für das Syntaxhightlighting.

          Na dann gehe ich davon aus, dass das mit den roten Operatoren richtig ist. Das ist meine verbesserte Version, bei der ich die Codeblöcke zur Abwechslung mal nicht verschachtelt habe:

            
          <!doctype html public "-//W3C//DTD HTML 4.0 //EN">  
          <html>  
          <head>  
          <title>Tabellenteile wegblenden</title>  
          <meta name="author" content="Gernot Back">  
          <meta name="generator" content="Ulli Meybohms HTML EDITOR">  
          <script language="JavaScript">  
          <!--  
          
          
            
          var gruppe;  
          function init () {  
            gruppe = document.getElementsByTagName('tbody');  
          }  
            
          function einaus (was) {  
            for (i=0; i<gruppe.length ; i++ ) {  
              if(gruppe[i].id==was) {  
                if(gruppe[i].style.display=='none') {  
                  if(document.all&&!window.opera) {  
                     gruppe[i].style.display='block';  
                  } else {  
                     gruppe[i].style.display='table-row-group';  
                  }  
                } else {  
                  gruppe[i].style.display='none';  
                }  
              }  
            }  
          }  
          
          
            
          //-->  
          </script>  
          </head>  
          <body onLoad="init()">  
          <table border="1" width="100%">  
          <tr>  
           <th colspan="2"><a href="#" onClick="einaus('gruppeA')">Gruppe A</a></th>  
          </tr>  
          <tbody id="gruppeA" style="display:none">  
          <tr>  
           <td>&nbsp;</td>  
           <td>&nbsp;</td>  
          </tr>  
          <tr>  
           <td>&nbsp;</td>  
           <td>&nbsp;</td>  
          </tr>  
          <tr>  
           <td >&nbsp;</td>  
           <td>&nbsp;</td>  
          </tr>  
          </tbody>  
          <tr>  
           <th colspan="2"><a href="#" onClick="einaus('gruppeB')">Gruppe B</a></th>  
          </tr>  
          <tbody id="gruppeB" style="display:none">  
          <tr>  
           <td>&nbsp;</td>  
           <td>&nbsp;</td>  
          </tr>  
          <tr>  
           <td>&nbsp;</td>  
           <td>&nbsp;</td>  
          </tr>  
          <tr>  
           <td>&nbsp;</td>  
           <td>&nbsp;</td>  
          </tr>  
          </tbody>  
          <tr>  
           <th colspan="2"><a href="#" onClick="einaus('gruppeC')">Gruppe C</a></th>  
          </tr>  
          <tbody id="gruppeC" style="display:none">  
          <tr>  
           <td>&nbsp;</td>  
           <td>&nbsp;</td>  
          </tr>  
          <tr>  
           <td>&nbsp;</td>  
           <td>&nbsp;</td>  
          </tr>  
          <tr>  
           <td>&nbsp;</td>  
           <td>&nbsp;</td>  
          </tr>  
          </tbody>  
          </table>  
          </body>  
          </html>  
          
          

          Gruß Gernot

          1. Hi,

            kann es sein, daß derartig angegebene HTML-Kommentare:

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

            
            > ~~~javascript
              
            
            > var gruppe;  
            > function init () {  
            >   gruppe = document.getElementsByTagName('tbody');  
            > }  
            > 
            
            

            //-->
            </script>
            </head>

            das schöne Syntax-Highlighting hier durcheinander bringen?  
              
            freundliche Grüße  
            Ingo
            
            -- 
            [[barrierefreie Webseitenerstellung](http://www.1ngo.de/web/) » [Suchmaschinenoptimierung](http://www.1ngo.de/web/seo.html) | [em?](http://www.1ngo.de/web/em.html)] ([Tanzschritte gesucht?](http://www.1ngo.de/tanz/);-)
            
            1. Hallo,

              kann es sein, daß derartig angegebene HTML-Kommentare:
              das schöne Syntax-Highlighting hier durcheinander bringen?

              Wahrscheinlich. Aber Gunar hat auch übersehen, daß man Codeblöcke verschachteln kann. Anstatt seiner Variante ..

              <code lang=html>
              </code>
              <code lang=javascript>
              </code>
              <code lang=html>
              </code>

              .. hätte ich diese gewählt:

              <code lang=html>
              <code lang=javascript>
              </code>
              </code>

              (Die spitzen Klammern sind natürlich eckige.)

              Tim

              1. Hi,

                Wahrscheinlich. Aber Gunar hat auch übersehen, daß man Codeblöcke verschachteln kann. Anstatt seiner Variante ..

                stimmt, dann klappts auch mit dem Syntaxhighlighting.

                Wobei ich mich frage, ob es nicht viel anwendungsfreundlicher wäre, wenn das Forum den Code selbst entsprechend interpretieren würde. Zumindest innerhalb von code lang=html ausgezeichnete style- und javascript-Bereiche selbständig erkennen würde; analog zur Linkumsetzung natürlich nur korrekt ausgezeichnete Blöcke, also nix mit <script language="JavaScript"> ;-)

                Ich würde sogar noch einen Schritt weitergehen und bei [ code ] <html> sinnvoll finden, daß auch das erkannt wird.

                freundliche Grüße
                Ingo

              2. Hallo Tim,

                wahrscheinlich meinst du mich.

                Wahrscheinlich. Aber Gunar hat auch übersehen, daß man Codeblöcke verschachteln kann. Anstatt seiner Variante ..

                <code lang=html>
                </code>
                <code lang=javascript>
                </code>
                <code lang=html>
                </code>

                .. hätte ich diese gewählt:

                <code lang=html>
                <code lang=javascript>
                </code>
                </code>

                (Die spitzen Klammern sind natürlich eckige.)

                Nein, das hatte ich nicht übersehen, mir kamen nur bei meinem ersten Posting die knallroten Operatoren im JS-Code komisch vor (knallrot assoziiere ich mit 'Fehler'), sodass ich dachte, entweder stimmt das lang-Attribut nicht, oder man darf vielleicht doch nicht verschachteln.

                Jetzt müsste es nur noch mal eine Anleitung zur Codeauszeichnung hier in den FAQs geben und diese auch in der Vorschau funktionieren, sodass man sich kontrollieren kann.

                Mal sehen, ob ich heute dazu komme, diese Anregungen auch in den Bugtracker zu schreiben.

                Gruß Gernot

                1. Hallo Gernot,

                  wahrscheinlich meinst du mich.

                  Ja, entschuldige bitte.

                  Jetzt müsste es nur noch mal eine Anleitung zur Codeauszeichnung hier in den FAQs geben ...

                  Ist schon so gut wie drin, der Schuldige an der FAq bin ja ich.

                  und diese auch in der Vorschau funktionieren, sodass man sich kontrollieren kann.

                  Ähm, das tut es hier ohne Probleme?

                  Tim

                  1. Hallo Tim,

                    wahrscheinlich meinst du mich.

                    Ja, entschuldige bitte.

                    Keine Ursache, diese seltenen germanischen Namen sind ja sehr verwirrend.

                    und diese auch in der Vorschau funktionieren, sodass man sich kontrollieren kann.

                    Ähm, das tut es hier ohne Probleme?

                    ich bekomme in der Vorschau-Ansicht kein Syntax-Highlighting, obwohl (oder weil?) registrierter Nutzer. Vielleicht bin ich mit dem falschen Browser (IE6) und/oder dem falschen Betriebssystem (Win98) unterwegs.

                    Gruß Gernot

                    1. Hallo Gernot.

                      ich bekomme in der Vorschau-Ansicht kein Syntax-Highlighting, obwohl (oder weil?) registrierter Nutzer.

                      Das hat damit nichts zu tun, da ich z. B. auch in der Vorschau-Ansicht Syntax-Highlighting habe.

                      Vielleicht bin ich mit dem falschen Browser (IE6) und/oder dem falschen Betriebssystem (Win98) unterwegs.

                      Möglich wäre es. Da der IE sowieso mit nahezu allem ein Problem hat, könnte es durchaus sein, dass er auch hier zickt.

                      Schon einmal andere Browser ausprobiert?

                      Gruß, Ashura

                      --
                      Selfcode: sh:( fo:) ch:? rl:( br:^ n4:& ie:{ mo:) va:) de:> zu:) fl:( ss:( ls:# js:|
                      Try it: Become an Opera Lover in 30 days
                    2. Hi,

                      ich bekomme in der Vorschau-Ansicht kein Syntax-Highlighting, obwohl (oder weil?) registrierter Nutzer. Vielleicht bin ich mit dem falschen Browser (IE6) und/oder dem falschen Betriebssystem (Win98) unterwegs.

                      Hm. Hast Du evtl. noch ein veraltetes css-File im Cache? (in der Vorschau wird vielleicht ein anderes benutzt als im fertigen Posting?)

                      Läßt Du Dir das Forum als HTML 4.01 oder als XHTML 1.0 ausliefern (Usereinstellungen - Anzeigefunktionen - ganz oben)

                      cu,
                      Andreas

                      --
                      Warum nennt sich Andreas hier MudGuard?
                      Schreinerei Waechter
                      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. Hallo Andreas,

                        Läßt Du Dir das Forum als HTML 4.01 oder als XHTML 1.0 ausliefern (Usereinstellungen - Anzeigefunktionen - ganz oben)

                        da __________________________^^^^^^^^^ hast du mich erwischt. Jetzt hoffe ich dass die Änderung auf XHTML 1.0 bei meinem nächsten Code-Posting auch in meiner Vorschrau was bringt; die von mir gewählten Farben haben sich ja jetzt schon ein weing geändert.

                        Gruß Gernot

                        1. 你好 Gernot,

                          Läßt Du Dir das Forum als HTML 4.01 oder als XHTML 1.0 ausliefern
                          (Usereinstellungen - Anzeigefunktionen - ganz oben)
                          da __________________________^^^^^^^^^ hast du mich erwischt. Jetzt hoffe
                          ich dass die Änderung auf XHTML 1.0 bei meinem nächsten Code-Posting auch
                          in meiner Vorschrau was bringt; die von mir gewählten Farben haben sich
                          ja jetzt schon ein weing geändert.

                          Ob du die HTML4- oder die XHTML-Templates benutzt, macht keinerlei
                          Unterschied. Der Grund war schlicht, dass Syntax-Highlighting in fo_post
                          nicht global aktiviert war, sondern User-Abhaengig.

                          再见,
                          克里斯蒂安

                          --
                          Unsere Vorstellungen von der Ewigkeit sind genauso nuetlich wie die Mutmassungen eines Kuehkens ueber die Aussenwelt bevor es die Eierschale aufbricht.
                          1. Hi,

                            Ob du die HTML4- oder die XHTML-Templates benutzt, macht keinerlei
                            Unterschied. Der Grund war schlicht, dass Syntax-Highlighting in fo_post
                            nicht global aktiviert war, sondern User-Abhaengig.

                            Ein Überbleibsel aus der Zeit, als das Highlighting insgesamt nur für registrierte User ging, falls diese es aktiviert hatten?

                            cu,
                            Andreas

                            --
                            Warum nennt sich Andreas hier MudGuard?
                            Schreinerei Waechter
                            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. 你好 MudGuard,

                              Ob du die HTML4- oder die XHTML-Templates benutzt, macht keinerlei
                              Unterschied. Der Grund war schlicht, dass Syntax-Highlighting in fo_post
                              nicht global aktiviert war, sondern User-Abhaengig.

                              Ein Überbleibsel aus der Zeit, als das Highlighting insgesamt nur für
                              registrierte User ging, falls diese es aktiviert hatten?

                              Ja.

                              再见,
                              克里斯蒂安

                              --
                              Zu wissen, was wir nicht wissen, ist die Quelle der Weisheit.
            2. 你好 Ingo,

              kann es sein, daß derartig angegebene HTML-Kommentare:

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

              
              > > ~~~javascript
                
              
              > > var gruppe;  
              > > function init () {  
              > >   gruppe = document.getElementsByTagName('tbody');  
              > > }  
              > > 
              
              

              //-->
              </script>
              </head>

              
              > das schöne Syntax-Highlighting hier durcheinander bringen?  
                
              Nein, das war ein Bug, ich habe aus Versehen immer das letzte geladene  
              Patternfile gewaehlt, nicht das richtige. Das war dann in diesem Fall  
              JavaScript :)  
                
              再见,  
               克里斯蒂安  
              
              -- 
              Fortune: We are all born equal... just some of us are more equal than others.  
                
              
              
  4. Wegen der Übersichtlichkeit möchte ich NUR die Überschrift anzeigen und bei Klick mit JavaScript die zugehörigen Folgezeilen einblenden.

    Kalle,
    Der Ansatz ist falsch, da so User ohne JavaScript keine Mögichkeit haben, die Folgezeilen einblenden.

    Lass im Stylesheet alles sichtbar und mache die Folgezeilen per JavaScript unsichtbar, und nach Klick (bzw. Tastendruck – wie können sonst User ohne Maus die Folgezeilen einblenden?) wieder sichtbar.

    Gunnar

    --
    I never intended HTML source code (the stuff with the angle brackets) to be seen by users. […] To my surprise, people quickly became familiar with the tags and started writing their own HTML documents directly. (Tim Berners-Lee in Weaving the Web)
    1. Hallo Gunnar,

      Kalle,
      Der Ansatz ist falsch, da so User ohne JavaScript keine Mögichkeit haben, die Folgezeilen einblenden.

      Lass im Stylesheet alles sichtbar und mache die Folgezeilen per JavaScript unsichtbar, und nach Klick (bzw. Tastendruck – wie können sonst User ohne Maus die Folgezeilen einblenden?) wieder sichtbar.

      Du hast natürlich Recht. Deshalb packe ich das Unsichtbarschalten bei mir auch mal lieber in die init-Funktion, die erst onLoad im Body-Element aufgerufen wird. Und ziehe dort alle inline-styles mit display:none zurück:

        
      function init () {  
        gruppe = document.getElementsByTagName('tbody');  
        for (i=0; i<gruppe.length ; i++ ) {  
          if (gruppe[i].id)  
           gruppe[i].style.display='none';  
        }  
      }  
      
      

      Gruß Gernot

      1. Hi,

        Du hast natürlich Recht. Deshalb packe ich das Unsichtbarschalten bei mir auch mal lieber in die init-Funktion, die erst onLoad im Body-Element aufgerufen wird.

        Besser ist es IMHO, so etwas direkt nach oder noch besser innerhalb der Tabelle (und sei es eine umfassende) zu tun. Da zuerst die Tabelle fertig gerendert wird, ändert sich dann, anders als bei onLoad, das Erscheinungsbild der Seite nicht mehr nachträglich.

        Gruß, Cybaer

        --
        Hinweis an Fragesteller: Fremde haben ihre Freizeit geopfert, um Dir zu helfen. Helfe Du auch im Archiv Suchenden: Beende deinen Thread mit einem "Hat geholfen" oder "Hat nicht geholfen"!
    2. Kalle,
      Der Ansatz ist falsch, da so User ohne JavaScript keine Mögichkeit haben, die Folgezeilen einblenden.

      Nein, ich habe danach gefragt, wie man Zeilen einer Tabelle ausblendet.  Du sprichst eine ganz andere Baustelle an, die ich gar nicht eingerichtet habe.

      <script type="text/javascript"></script>
        document.write("<style type='text/css'>");
        document.write("#gruppe1 { display:none }");
        document.write("</style>");
      </script>

      Wer kein JavaScript hat, sieht alles, nur unübersichtlicher.

      Kalle

      1. Kalle_Worms,

        <script type="text/javascript"></script>
          document.write("<style type='text/css'>");
          document.write("#gruppe1 { display:none }");
          document.write("</style>");
        </script>

        OK, so geht's auch.
        Gunnar

        --
        I never intended HTML source code (the stuff with the angle brackets) to be seen by users. […] To my surprise, people quickly became familiar with the tags and started writing their own HTML documents directly. (Tim Berners-Lee in Weaving the Web)