php.de

Zurück   php.de > Webentwicklung > JavaScript, Ajax und mehr

JavaScript, Ajax und mehr dynamisches Scripten und Interaktion auf Clientebene

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 20.09.2009, 16:44  
Erfahrener Benutzer
 
Registriert seit: 08.08.2009
Beiträge: 195
PHP-Kenntnisse:
Fortgeschritten
da.eXecutoR befindet sich auf einem aufstrebenden Ast
Standard Wie lade ich ein Javascript nach einer AJAX Abfrage neu?

Hallo zusammen!

Ich bin etwas schwach was Javascript betrifft und ich weiss dass ich schon lange ein Javascript Buch durchakern solllte aber leider liegts im Moment zeitlich nicht drin.

Ich hab auch nur ein ganz kleines Problem. Und zwar will ich für eine Datenbank zum Auswählen der Kategorien ein Drill Down Menu verwenden. Dazu hab ich auch ein passendes gefunden das soweit wunderbar funktioniert:

Dynamic Drive DHTML Scripts- Drill Down Menu

Da es vorkommt dass ein User selber eine noch nicht existierende Kategorie hinzufügen will hab ich das Menu mit einem Input Feld in jeder Ebene erweitert.

Z.Bs.p:

Kategorie -> Hausarbeiten -> Garten

Jetzt will ich etwas hinzufügen das mit dem Rasen zu zun hat, dann kann ich direkt in dem Menu ins Input Feld " Rasen" eingeben und via Ajax request wird die Unterkategorie erstellt.

Das funktioniert bis hier hin auch alles. Nun kommt mein Problem. Wie kann ich das bereits geladene Javascript Menu neuladen nachdem ich die Ajax Request ausgeführt habe?

Ich habs bis jetzt so gemacht dass ich mit der Ajax Response das Menu neu zeichne und auch den Javascript Teil zum erstellen vom Menu nochmals generiere, das funktioniert auch. Aber ich hab das Problem dass mein Menu jetzt zweimal existiert, das heisst ich muss die erste Instanz irgendwie löschen und ich weiss nicht wie.

JS Teil:

HTML-Code:
var mymenu=new drilldownmenu({
		menuid: 'drillmenu1',
		menuheight: '200',
		breadcrumbid: 'drillcrumb',
		selectedul: name,
		persist: {enable: true, overrideselectedul: true}
	})
Ajax Teil der funktioniert:

HTML-Code:
// JavaScript Document
if (window.XMLHttpRequest){
  // If IE7, Mozilla, Safari, etc: Use native object
 var resObject = new XMLHttpRequest();
}
else 
{
if (window.ActiveXObject){
  // ...otherwise, use the ActiveX control for IE5.x and IE6
  var resObject = new ActiveXObject("Microsoft.XMLHTTP"); 
  }
}


// Eine neue Kategorie in die Datenbank hinzufügen
function add_cat(nummer) {
		var nummer		= nummer;
		var name 		= encodeURIComponent(document.getElementById("new" + nummer).value);
		var parent 		= encodeURIComponent(document.getElementById("parent" + nummer).value);
		resObject.open('POST','http://vantage/include/cat_new.php',true);
		resObject.onreadystatechange = handleResponse;
		resObject.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded; charset=UTF-8');
		resObject.send('name=' + name + '&parent=' + parent);
}

function handleResponse() {
	if(resObject.readyState == 4) {
		document.getElementById("antwort").innerHTML = resObject.responseText;
		menu_reload();
	}
}

function menu_reload(){
	delete mymenu;
	var mymenu=new drilldownmenu({
		menuid: 'drillmenu1',
		menuheight: '200',
		breadcrumbid: 'drillcrumb',
		selectedul: name,
		persist: {enable: true, overrideselectedul: true}
	})
}
Ich weiss nicht ob ich mich richtig ausdrücken konnte aber ich möchte eigentlich mit der Funktion menu_reload das Menu drillmenu1 neu laden damit der user dann gleich am richtigen Ort wieder ist.

Bei Fragen bitte nur zu! Vielen Dank!

Gruss

eXe
da.eXecutoR ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 21.09.2009, 07:53  
Erfahrener Benutzer
 
Benutzerbild von Arne Drews
 
Registriert seit: 22.04.2009
Beiträge: 3.341
PHP-Kenntnisse:
Anfänger
Arne Drews wird schon bald berühmt werdenArne Drews wird schon bald berühmt werden
Arne Drews eine Nachricht über Skype™ schicken
Standard

Ich hab mir jetzt das Script von Deinem Link nicht angesehen,
aber Du setzt ja jedesmal mit new drilldownmenu( ... ), wie Du bereits angemerkt hast,
eine neue Instanz!

Ich vermute mal, daß Du mit dem DrillDownMenu-Script auch die Inhalte einer Instanz einfach ändern kannst?!
Jedenfalls würde das Sinn machen.

Gibts dafür denn keine Doku?
Arne Drews ist offline   Mit Zitat antworten
Alt 21.09.2009, 10:48  
Erfahrener Benutzer
 
Registriert seit: 08.08.2009
Beiträge: 195
PHP-Kenntnisse:
Fortgeschritten
da.eXecutoR befindet sich auf einem aufstrebenden Ast
Standard

Auf dem oben geposteten Link findest du die Anleitung, allerdigs steht da nur wie man ein solches Menu initialisiert und mit welchen Optionen man es ausstatten kann.

Das wäre ja genau meine Frage, gibt es javascript mässig einen Befehl um eine solche funktion neuzuladen oder zu ersetzen? Denn das könnte ich ja bei meinem ajax request mit einbauen sobald die antwort kommt.

Gruss
da.eXecutoR ist offline   Mit Zitat antworten
Alt 21.09.2009, 11:15  
Erfahrener Benutzer
 
Registriert seit: 08.08.2009
Beiträge: 195
PHP-Kenntnisse:
Fortgeschritten
da.eXecutoR befindet sich auf einem aufstrebenden Ast
Standard

Okay ich habs fast geschafft. Mit der Funktion:

HTML-Code:
function menu_reload(parentName){
	var parentName = parentName;
	alert(parentName);
	delete mymenu;
	var mymenu=new drilldownmenu({
		menuid: 'drillmenu1',
		menuheight: '200',
		breadcrumbid: 'drillcrumb',
		selectedul: parentName,
		persist: {enable: false, overrideselectedul: false}
	})
}
Funktioniert es Einwandfrei. Nur wenn ich das alert rausnehme ( das war nur zum Debuggen ) dann funktionierts nicht mehr und das menu erscheint nur als UL Liste.

Any idea?
da.eXecutoR ist offline   Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
timing Probleme bzw Zusammenspiel PHP Javascript thica PHP Tipps 2009 2 19.02.2010 19:06
Handbücher / Onlinetutos für JavaScript / Ajax buggybugga JavaScript, Ajax und mehr 4 07.08.2009 11:55
javascript countdown mit ajax einbinden chrismh JavaScript, Ajax und mehr 1 18.04.2009 11:29
1101: 10x JavaScript und kein Ende ist abzusehen… Nikolaus 2.0 Adventskalender 2008 9 13.12.2008 20:11
Kalender ohne Neuladen der Seite PHP, Javascript, Ajax Earl3000 JavaScript, Ajax und mehr 16 11.12.2008 22:07
Ajax - PHP - XML - JavaScript phpbeginner HTML, Usability und Barrierefreiheit 2 26.11.2007 16:48
AJAX: Session-Inhalt an PHP Curanai HTML, Usability und Barrierefreiheit 2 05.11.2007 15:45
Javascript in Ajax responseText funktioniert nicht Plague PHP Tipps 2007 6 03.07.2007 21:08
http user mit Javascript abfrage tennessee HTML, Usability und Barrierefreiheit 3 31.10.2006 13:18
Javascript (AJAX) Error (Syntax-Fehler) lomtas HTML, Usability und Barrierefreiheit 4 04.08.2006 09:41
javascript probleme bei Ajax anwendung Sclot HTML, Usability und Barrierefreiheit 11 22.03.2006 13:06
JavaScript: If -Abfrage ob formularfeld selektiert ist HTML, Usability und Barrierefreiheit 4 31.12.2005 13:42
Problem mit javascript if Abfrage HTML, Usability und Barrierefreiheit 2 12.10.2004 07:37
Abfrage aus DB noch mal ausgeben und Abfrage aus mehrern Tab PHP Tipps 2004 4 12.07.2004 15:00

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
javascript nach ajax, wie lade ich javascript, nach ajax javascript, javascript nach ajax funktioniert nicht, nach ajax kein javascript, resobject loeschen, nach ajax funktioniert mein js nicht mehr, http://www.php.de/javascript-ajax-und-mehr/59187-wie-lade-ich-ein-javascript-nach-einer-ajax-abfrage-neu.html, javascript nach ajax neuladen, ajax lade, javascript resobjekt, ajax.php kino.to, nach ajax javascript function, js nach ajax, javascript geht nach ajax nicht mehr, javascript funzt nach ajax html() nicht mehr, ajax abfrage ob script ausgeführt, php javascript durch ajax, nach ajax js neu, php ajax abfrage

Alle Zeitangaben in WEZ +1. Es ist jetzt 22:35 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum