ben: tabindex +form +übergeben +php

Hallo,

ich hab folgendes Problem.

Ich habe eine TabbedPanels wie es in Dreamweaver verfügbar ist.

  
<div id="spool" class="TabbedPanels" style="margin-top:25px;">  
	<ul class="TabbedPanelsTabGroup">  
		<li class="TabbedPanelsTab" tabindex="0">Einzelversand</li>  
		<li class="TabbedPanelsTab" tabindex="1" style="margin-left: 2px;">Massenversand</li>  
	</ul>  
	<div class="TabbedPanelsContentGroup">  
		<div class="TabbedPanelsContent">INHALT</div>  
		<div class="TabbedPanelsContent">INHALT</div>  
	</div>  
</div>  

Funktioniert auch alles so weit. Jedoch habe ich den den einzelnen Tabs jeweils ein FORM drin.. Wenn ich das jetzt ab sende mit submit und dann weil ein Feld nicht gefüllt oder Fehler habt ist welches ich in PHP überprüfe. Sprint er in den ersten Tab.. was ja so weit auch richtig ist..

meine Frage nur. kann man irgendwie z.b. per JavaScript sagen wenn ich ein

<input type="hidden" name="tabindex" value="0" />

oder

<input type="hidden" name="tabindex" value="1" />

das er dann gleich in dieses Tab rein sprint und nicht das beim neu laden tab 0 auf ruft.

Hoffe das war verständlich. :) Müsste doch möglich sein das mit onLoade() in einer ID Definition zu lösen, oder?

Wäre über Hilfe und Beispiele Dankbar.

  1. Hi there,

    Hoffe das war verständlich. :)

    Nein. Da ich einmal annehme, daß Deutsch nicht Deine Muttersprache ist, sei Dir verziehen;) - was nichts daran ändert, daß selbst bei gewaltigen Phantasieanstrengungen nicht wirklich  erkennbar ist, was Du wirklich möchtest. Beginnen wir beim einfachsten: Was sind TabbedPanels? Eine Navigation? Ein Menü? Warum möchtest Du in einem Menü ein Formular einbauen? Gibt es so etwas irgendwo zu sehen?

    Müsste doch möglich sein das mit onLoade() in einer ID Definition zu lösen, oder?

    Hm, es wird nicht wirklich einfacher mit dem Verstehen...

    1. Hallo,

      sorry. :)

      Was sind TabbedPanels?

      Ja, das ist ein Menü.. oder viel mehr eine Karteikarte.

      Hab da mal ein Bild von dem TabPannel gemacht.
      TabPannel - 1
      TabPannel - 2

      So ist es glaube ich einfach zu verstehen.. Wenn ich jetzt das FORM in 2 Tab absende wird die Seite neu geladen. Ist ja klar. weil man ja die Nachricht senden will.. Sollte es aber jetzt zu Fehler kommen, gibt er einen Fehler im HTML Code aus und zeigt diese an.

      Aber er Sprint in den Tab 1 (Einzelversand)..

      Jetzt meine Frage wie kann ich es steuern, das er in den zweiten Tab Sprint (diese auswählt) als hätte man im Reiter oben auf Massenversand geklickt.

      Meine Vorstellung wäre in das Formular ein <input type="hidden" name="tab" value="2" /> einzufügen und diese dann dazu verwenden beim neu laden was er ja macht in jedem Fall in dieses Tab zuspringen. Klar müsste ich das jeweilige Tab Benennen ID oder Name..

      Hoffe es war jetzt besser zu verstehen..

      1. Moin,

        Aber er Sprint in den Tab 1 (Einzelversand)..

        Jetzt meine Frage wie kann ich es steuern, das er in den zweiten Tab Sprint (diese auswählt) als hätte man im Reiter oben auf Massenversand geklickt.

        Kommt drauf an, wie der Wechsel zwischen den Tabs gesteuert wird: entweder über CSS3 :target, dann musst du im action-Attribut des Formulars nur den Hash für den zweiten Tab mit angeben...

        Meine Vorstellung wäre in das Formular ein <input type="hidden" name="tab" value="2" /> einzufügen und diese dann dazu verwenden beim neu laden was er ja macht in jedem Fall in dieses Tab zuspringen. Klar müsste ich das jeweilige Tab Benennen ID oder Name..

        ... oder über JavaScript.
        Dann musst du auf der Seite immer http://de.selfhtml.org/javascript/objekte/location.htm#search@title=location.search auf diesen Parameter überprüfen (in deinem Beispiel tab=2) und dann den entsprechenden Tab einblenden.

        Hoffe es war jetzt besser zu verstehen..

        Gruß,
        Take

      2. Hi there,

        Hoffe es war jetzt besser zu verstehen..

        Alles klar. Es geht Dir im Prinzip darum, einen Parameter mitzusenden, aus dem Deine Seite erkennen kann, wie sie aufgerufen wurde. Dafür gibts mehrere Lösungen. Nachdem Du PHP als Themenbereich gewählt hast, stellt sich die Frage, ob Du PHP (oder eine andere serverseitige Technik) verwenden kannst. Falls das der Fall ist, dann ist es ein einfaches, den übergebenen Parameter auszuwerten und die Seite dementsprechend aufzubauen. Was in PHP bezogen auf Dein Beispiel in etwas so aussähe:

          
          
        if ($_REQUEST['tab'] == 2)  
        {  
        ...baue Formular 2 auf  
          
        }  
        else  
        {  
        ...baue Formular 1 auf  
        }  
          
        
        

        Wenn Dir keine serverseitige Technik zur Verfügung steht, dann steht Dir die von Take genannte Möglichkeit zur Verfügung. Interessant vielleicht auf dieser Artikel.

        Die Frage ist auch, was zwischen den beiden Formularen überhaupt passiert - wenn Du keine Werte absenden musst, dann kannst Du auch abwechselnd das jeweilige andere Formular http://de.selfhtml.org/css/eigenschaften/positionierung.htm#visibility@title="unsichtbar" machen.