Ajax Tab + MySQL
Philip
- javascript
0 Philip0 Felix Riesterer0 dedlfix0 Philip
Hallo habe da ein Problem und hoffe das mir jemand weiterhelfen kann...
Und zwar bin ich gerade dabei mittels ajax/php/mysql eine navigation mit tabs zu bauen ... firefox like halt..
leider funktioniert das nicht ganz .. evtl kann jemand einen blick drauf werfen
AJAX.js
var aktueller_tab = 1;
var http;
var http2;
var http3;
try {
http = new ActiveXObject("Microsoft.XMLHTTP");
http2 = new ActiveXObject("Microsoft.XMLHTTP");
http3 = new ActiveXObject("Microsoft.XMLHTTP");
}
catch(e) {
try {
http = new ActiveXObject("MSXML2.XMLHTTP");
http2 = new ActiveXObject("MSXML2.XMLHTTP");
http3 = new ActiveXObject("MSXML2.XMLHTTP");
}
catch(e) {
try {
http = new XMLHttpRequest();
http2 = new XMLHttpRequest();
http3 = new XMLHttpRequest();
}
catch(e) {
alert("Erzeugung des Ajax XML Objektes fehlgeschlagen!");
}
}
}
// HTML TABS
function html_create_tab(id) {
var newtab = document.createElement("div");
var tab_target = document.getElementById("tabtarget");
newtab.id = 'ajaxdisplay_'+id;
tab_target.appendChild(newtab);
}
function html_delete_tab(id) {
document.getElementById('tabtarget').removeChild(document.getElementById('ajaxdisplay_'+id));
}
function html_switch_tab(alter,neuer) {
document.getElementById("ajaxdisplay_"+alter).style.display="none";
document.getElementById("ajaxdisplay_"+neuer).style.display="block";
}
function html_read_tabs()
{
http.open("GET", "_tabs.php", true);
http.onreadystatechange = html_read_tabs_show;
http.send(0);
}
function html_read_tabs_show()
{
if(http.readyState == 4)
{
document.getElementById("div_tabs").innerHTML = http.responseText;
}
}
// DB TABS
function db_read_tab(tabid,mod,act) {
http3.open("GET", "_open.php?mod="+mod+"&act="+act, true);
http3.onreadystatechange = db_read_tab_show(tabid);
http3.send(0);
}
function db_read_tab_show(tabid) {
if(http3.readyState == 4)
{
document.getElementById("ajaxdisplay_"+tabid).innerHTML = http3.responseText;
}
}
function db_insert_tab() {
http2.open("GET", "_tabsadd.php", true);
http2.onreadystatechange = db_insert_tab_read;
http2.send(0);
}
function db_insert_tab_read() {
if(http2.readyState == 4)
{
tab_new = http2.responseText;
html_read_tabs();
}
}
// MENU TAB
function open_tab(mod,act)
{
if (aktueller_tab == 1) {
db_insert_tab();
html_create_tab(tab_new);
html_switch_tab(aktueller_tab,tab_new);
aktueller_tab=tab_new;
}
db_read_tab(aktueller_tab,mod,act);
}
function switch_tab(neuer)
{
html_switch_tab(aktueller_tab,neuer);
}
im body ist onload html_read_tabs();
als link onclick open_tab('yyyyy','xxxxx')
_tabsadd.php fügt neuen tab in mysql hinzu und gibt die ID zurück
_tabs.php gibt grafisch die tabs aus
_open.php ersetzt den inhalt auf dem aktuellen tab mit neuem
div mit tabtarget als viel für die neuen divs
Dazu zu sagen die tabs haben als onclick switch_tab(xx);
und var aktueller_tab = 1; is ein tab der immer da ist und bleiben soll
Lieber Philip,
mittels ajax/php/mysql eine navigation mit tabs zu bauen ...
firefox like halt..
für eine reguläre Inhaltsseite wäre das fatal, da ohne verfügbares JavaScript Deine Seite unbenutzbar wäre. Als Navi in einer Web-Anwendung (Admin-Bereich o.ä.) könnte ich mir das dagegen vorstellen, aber nur dann.
Warum willst Du das so?
Liebe Grüße aus Ellwangen,
Felix Riesterer.
Ist auch für ein Admin bereich gedacht ..
Finde es halt praktischer wenn man hin und herschalten kann zwischen bestimmten bereichen, leider funktioniert das ganze noch nicht so wie ich das will >:)
auch nciht wenn ich var new_tab global mache ...
mfg phil
echo $begrüßung;
leider funktioniert das nicht ganz .. evtl kann jemand einen blick drauf werfen
"Funktioniert nicht" funktioniert nicht. Auch dann nicht, wenn viel undokumentierter Code dazugegeben wird, der nicht auf das minimal notwendige zum Fehlernachvollziehen beschränkt wurde.
Was hast du bereits für Schritte unternommen, um das erwartete Verhalten mit dem tatsächlichen zu vergleichen? Kontrollausgaben wären dazu ein einfaches aber wirkungsvolles Mittel. An welcher Stelle hast du Abweichungen gefunden, die du dir nicht erklären kannst?
echo "$verabschiedung $name";
also
erklärung:
function html_create_tab(id) {
// Erstellt einen Div im Template wo der inhalt reingeladen werden soll. Dieser ist mit der ID des Tabs in der Datenbank versehen. Welches aber nicht so recht funktioniert, die ID wird ausgelesen und es funktioniert auch innerhalb der funktion db_insert_tab wenn ich die varible der id global mache wird sie nur als undefined ausgegeben .. warum .. frag mich nicht
function html_delete_tab() {
// Löscht den Tab auf der Seite
function html_switch_tabs()
// Wechselt zwischen den Tabs hin und her, jeweils mit der alten div id und der neuen
function html_read_tabs()
// Gibt die vorhanden Tabs in einem Div auf der Seite aus
function html_read_tabs_show
// siehe oben
function db_read_tab
// ließt den inhalt der der anzusteuernden datei aus und setz ihn in das entsprechnde div ein
function db_insert_tab
// fügt einen neuen tab hinzu und gibt die id zurück siehe problem html_create_tab
function open_tab
// öffnet einen neuen tab .. datenbank eintarg funktioniert , html_create_tab nicht, html_switch_tab funktioniert
function switch_tab
// onclick link von den tabs ide mit html_read_tabs ausgelesen wurden..