Archivlink: javarea.de Forum > JavaScript > clickTabs erweitern
Vollständigen Link anzeigen: javarea.de Forum > JavaScript > clickTabs erweitern

Pages: [1] 2 ... nächste » ... Letzte »

geschrieben von hemorieder am 01.05.2007 - 23:54
Hi,

das Skript clickTabs is ja echt nice, nur wenn ich ein <form> einbaue, und dann auf senden drücke dann lande ich ja immer wieder auf dem ersten Tab, wie kann es ich dem skript sagen, dass es dann dieses tab öffnen soll ? index.php?cat=4 oder so.

Habt ihr ne Idee ? Wäre super cool.

Danke im vorraus

mfg

hemorieder

geschrieben von wwwChaOs am 02.05.2007 - 17:16
kannst mal das script posten bitte?, damit man weiß, worum es geht.

geschrieben von René am 03.05.2007 - 08:58
http://www.javarea.de/index.php3?op....amp;id=533

geschrieben von hemorieder am 03.05.2007 - 18:35
danke fürs posten.

wäre echt cool wenn da jemand ne idee zu hätte

geschrieben von Klaush am 04.05.2007 - 12:21
Eine Idee wäre fogendes.

Du könntest die activeTab ermitteln und beim erneuten Laden der Seite mittels *.htm?tabID=1, danach suchen und den event mit dieser tabID bestücken, sodass die Tab wieder activiert wird.



geschrieben von hemorieder am 04.05.2007 - 12:31
ja den aktiven tab zu finden hab ich auch schon geschafft. aber sagen wir mal es war Tab 4, wie sag ich dem skript denn das tab 4 öffnen soll ?

geschrieben von René am 04.05.2007 - 13:02
http://de.selfhtml.org/javascript/o....htm#search

geschrieben von Micha am 04.05.2007 - 14:21
Hi,

wenn Du die ID hast, dann übergibst Du diese der Funktion hideTabOnLoad() im onload.

und dann suchst Du:

HTML-Quelltext
1: 
2: 
3: 
4: 
5: 
6: 
7: 
8: 
// Alle Tabs der jeweiligen Tabbox bearbeiten
		for(var x=0; x<jsTabArray.length; x++) {	
			// Erster Tab sichtbar machen
			var jsTempTabStatus = (x==0) ? "block" : "none";
			jsTabArray[x].style.display = jsTempTabStatus;
						
			jsTempTabObj = createTabTpl(jsTabArray[x], 'tabWrapper', 3, 'tab');			
		}


Diese Abfrage:
HTML-Quelltext
1: 
var jsTempTabStatus = (x==0) ? "block" : "none";
musst Du dahingegen erweitern. Ist also ein Parameter übergeben worden? Wenn nein, bleibt alles wie gehabt, wenn ja, ist dieser zulässig? Wenn nein, bleibts wie es ist, wenn ja, dann muss aus dem Vergleichswert zu x Deine Id hin.

Micha

geschrieben von hemorieder am 04.05.2007 - 14:30
ok das klingt einleuchtend, aber um ehrlich zu sein, hab ich leider überhaupt keine Ahnung von. Könnte einer von euch vielleicht so freundlich sein ? ich wäre euch echt dankbar

geschrieben von Micha am 04.05.2007 - 19:17
Zitat
 Original geschrieben von hemorieder am 04.05.2007 - 14:30

ok das klingt einleuchtend, aber um ehrlich zu sein, hab ich leider überhaupt keine Ahnung von. Könnte einer von euch vielleicht so freundlich sein ? ich wäre euch echt dankbar


ooooch, komm schon. ein bischen eigenleistung beflügelt den einen oder anderen sicher schneller als ein - macht ihr mal.

Micha


geschrieben von hemorieder am 08.05.2007 - 16:33
ok, das klingt auch einleuchtend ;) ich hab mich rangesetzt, aber ich krieg nur das hin, sorry

HTML-Quelltext
1: 
2: 
3: 
4: 
5: 
6: 
7: 
8: 
9: 
10: 
11: 
12: 
13: 
14: 
// Tabboxen beim Seitenaufruf initialisieren
function hideTabOnLoad(tab_nummer) {
.....
.....
		
if(tab_nummer != 'undefined')
			{
				var jsTempTabStatus = (x==tab_nummer) ? "block" : "none";	
			}
			else
			{
				var jsTempTabStatus = (x==0) ? "block" : "none";
			}
}



übergeben tu ich so

<html>
...
<body onload="hideTabOnLoad(4)">
..

das geht aber nich, wenn ich aber im js tab_nummer=4 mache, dann seh ich auch den inhalt von tab 4 nur trotzdem bleibt tab 0 makiert als aktiver tab

geschrieben von Micha am 08.05.2007 - 18:18
Hi,

ja stimmt. In der Zeile ~47:

HTML-Quelltext
1: 
jsTempAllNavElements[0].className = 'activeTab';


muss Der Laufindex auch rein. ALso statt Null in Deinem Fall die vier.

Wenn Du den aktiven Tab an die URL hängst: deineHTMLDatei.html?4, dann kannst Du es, wie Rene schon schrieb, auslesen mit search():

HTML-Quelltext
1: 
window.alert(window.location.search.substring(1));


Füge den Code mal ein und schau, was in der Alertbox steht, wenn Du einen Parameter dran hängst....

Micha

geschrieben von hemorieder am 08.05.2007 - 18:58
ja perfekt, danke ! aber jetzt is folgendes, um den aktiven tab zu ermitteln hab ich an die funktion changeTab() am ende das dran gehängt


HTML-Quelltext
1: 
2: 
3: 
4: 
5: 
6: 
7: 
8: 
9: 
function changeTab(jsElement) {
...
...	
var tab = window.location.search.substring(1);
	
	if(tab!='')
	{
		window.location.href = "index.html?" + jsSelectedNav;
	}}


so ist es ja fast perfekt. Wenn aber einmal eine nummer angehängt wurde, wird ja immer wieder eine dran gehängt weil die Bedingung ja zutrifft. Und somit wird immer wieder die Seite neu geladen, und das ist ja nich der Sinn von den Tabs.

Kann ich irgendwie nach dem aufruf des tabs, das angehängte wieder entfernen oder irgendwie anders das Problem lösen ?

geschrieben von Micha am 08.05.2007 - 19:20
Hi,

Du musst in Deinem Form im action-Attribut den Index anhängen.

Im Script prüfst Du nur, ob eine Nummer übergeben wurde (die auch zulässig ist) und lädst diese ansonsten eben normal die Null. Du musst ja nicht jedesmal eine Nummer übergeben oder verstehe ich Dich falsch?

Micha

geschrieben von hemorieder am 08.05.2007 - 19:30
ja genauso mache ich es ja auch, aber wenn ich jetzt die nummer übergebe, dann ist die domain ja nach dem abschicken des formulars z.b index.html?2

die abfrage die ich ja mache, damit nicht dauernt neu geladen wird, hab ich ja oben geschrieben. Aber es steht ja nun in tab die aktuelle zahl drin, insofern wird danach bei jedem klick immer wieder die nummer angehängt. Kann ich das irgendwie verhindern ? Vielleicht kann man ja die Variable aus der domain löschen.

Hast du vielleicht icq oder msn, da können wir mehr eine "unterhaltung" führen


Powered by: JBB v.2.0.4 Copyright ©2000-2006, www.javarea.de.