zurück zur Startseite
  


Zurück XHTMLforum > Webentwicklung (außer XHTML und CSS) > Javascript & Ajax
Seite neu laden Inhalt für innerHTML aus externer Datei laden

Antwort
 
LinkBack Themen-Optionen Ansicht
  #1 (permalink)  
Alt 23.04.2015, 18:22
Neuer Benutzer
neuer user
Thread-Ersteller
 
Registriert seit: 15.04.2015
Beiträge: 11
Patrik Neunteufel befindet sich auf einem aufstrebenden Ast
Standard Inhalt für innerHTML aus externer Datei laden

Hallo Zusammen
ich will mit folgender Funktion ein Dialogfenster erzeugen, was alles auch fehlerfrei funktioniert. nur will ich nicht für jedes Dialogfenster eine eingene Funktion erstellen sondern eine, welche je nach dem, was für ein Dialogfenster erstellt werden soll, den Inhalt für innerHTML aus einer externen Datei lädt. dazu würde ich natürlich den eventlistener
Code:
document.getElementById('menu_login').onclick =login;
entsprechend umbauen, dass ich wie bei CloseWin die ID mit übergeben kann.

wie kann ich für innerHTML den Inhalt einer externen (html)datei einlesen?

Code:
	function login(){
		var id="login"; //id wird im css für die höhe benötigt

		var klasse="dialog";
		if(!document.getElementById(id)){
			var newdialog = document.createElement('div');
			newdialog.setAttribute('id',id);
			newdialog.setAttribute('class', klasse);
			newdialog.innerHTML = '<div class=" dialog titel"	">Login</div>'+
				'<form class="dialog" >'+
				'<fieldset id= "general" style="width:400px; height:80px; position:absolute; top:15px;  color:#000000;">'+
				'<legend>Login:</legend>'+
				'<p style="position:absolute;top:10px;">email: 		</p>'+
				'<input type="email" style="top:20px;" class="pflichtfeld" autofocus/><br />'+
				'<p style="position:absolute;top:40px;">Passwort: 	</p>'+
				'<input type="password" style="top:50px;"  class="pflichtfeld"  /><br />'+
				'</fieldset>'+
				'<button class="login" style="left:125px;">PW reset</button>'+
				'<button id="abort" class="login" style="left:225px;">Abbrechen</button>'+
				'<button class="login" style="left:325px;" >Weiter</button>'+
				'</form>';
			document.body.appendChild(newdialog);// newdialog in das Dokument einbinden (anzeigen)
		}
		document.getElementById('abort').onclick = function()
		{
		closeWin(id);
		}

	}

 	function closeWin(dialogid) {
 		currentObj = document.getElementById(dialogid) ;
 		currentObj.parentNode.removeChild(currentObj);
		currentObj = null;
	}

document.getElementById('menu_login').onclick =login;
Besten Dank für eure Hilfe
Mit Zitat antworten
Sponsored Links
  #2 (permalink)  
Alt 24.04.2015, 11:32
Benutzerbild von protonenbeschleuniger
Verbesserer
XHTMLforum-Kenner
 
Registriert seit: 06.09.2007
Beiträge: 4.977
protonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblick
Standard

Dazu müßte zuerst geklärt werden, ob du mit JS überhaupt Zugriff auf diese Datei hast. Ist diese unter der gleichen Domain erreichbar?
Mit Zitat antworten
Sponsored Links
  #3 (permalink)  
Alt 24.04.2015, 12:06
Neuer Benutzer
neuer user
Thread-Ersteller
 
Registriert seit: 15.04.2015
Beiträge: 11
Patrik Neunteufel befindet sich auf einem aufstrebenden Ast
Standard

ja, würde sich auch im selben ordner oder evtl ../lib befinden.

ich denke, das würde mit AJAX sicher gehen, will mich aber erst mit AJAX befassen, wenn es um dynamische Inhalte und die Speicherung der Eingabewerte geht.

erst will ich das grundlegende UI aufbauen, und da es sich bei den Dialogfenstern um statische Inhalte geht, finde ich ist AJAX etwas übertrieben... oder sehe ich das falsch?
Mit Zitat antworten
  #4 (permalink)  
Alt 24.04.2015, 12:31
Benutzerbild von protonenbeschleuniger
Verbesserer
XHTMLforum-Kenner
 
Registriert seit: 06.09.2007
Beiträge: 4.977
protonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblick
Standard

Zitat:
Zitat von Patrik Neunteufel Beitrag anzeigen
ja, würde sich auch im selben ordner oder evtl ../lib befinden.
Das spielt keine Rolle, meine Frage war eine andere.

Zitat:
Zitat von Patrik Neunteufel Beitrag anzeigen
erst will ich das grundlegende UI aufbauen, und da es sich bei den Dialogfenstern um statische Inhalte geht, finde ich ist AJAX etwas übertrieben... oder sehe ich das falsch?
Ja, das siehst du falsch.
Mit Zitat antworten
  #5 (permalink)  
Alt 24.04.2015, 14:00
Neuer Benutzer
neuer user
Thread-Ersteller
 
Registriert seit: 15.04.2015
Beiträge: 11
Patrik Neunteufel befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von protonenbeschleuniger Beitrag anzeigen
Das spielt keine Rolle, meine Frage war eine andere.
hmm... da verstehe ich wohl Domain etwas falsch, wenn ich ich meine index.htm im root-verzeichnis des web-servers (z.bsp. www.meinewebseite.ch) habe, und in diesem root-verzeichniss sich noch andere Dateien und oder Unterverzeichnisse befinden, sind die doch automatisch unter dem gleichen Domain erreichbar....

Zitat:
Zitat von protonenbeschleuniger Beitrag anzeigen
Ja, das siehst du falsch.
zu einer Lösung hilft mir das trotzdem nicht...


unter JavaScript: File - HTMLWorld habe ich die Möglicheit mit
Code:
f = new File(‘abc.txt’);
f.open(‘r’);
/*…bearbeiten…*/
f.close();
gefunden, spezifisch habe ich in meinem js dann folgenden Code zum test eingefügt
Code:
		var file = new File('login.htm');
		var result = file.open("r");
		var content = result.readIn();
wobei login.htm im selben verzeichnis wie index.htm und die abrufende *.js befindet.
..aber Chrome gibt mir beim Austesten an, es seien für new File zwei Argumente erforderlich

Uncaught TypeError: Failed to construct 'File': 2 arguments required, but only 1 present.

Geändert von Patrik Neunteufel (24.04.2015 um 14:15 Uhr)
Mit Zitat antworten
  #6 (permalink)  
Alt 24.04.2015, 19:36
Benutzerbild von protonenbeschleuniger
Verbesserer
XHTMLforum-Kenner
 
Registriert seit: 06.09.2007
Beiträge: 4.977
protonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblick
Standard

Zitat:
Zitat von Patrik Neunteufel Beitrag anzeigen
hmm... da verstehe ich wohl Domain etwas falsch, wenn ich ich meine index.htm im root-verzeichnis des web-servers (z.bsp. www.meinewebseite.ch) habe, und in diesem root-verzeichniss sich noch andere Dateien und oder Unterverzeichnisse befinden, sind die doch automatisch unter dem gleichen Domain erreichbar....
Ich wollte eigentlich keine Abhandlung wie dein Server konfiguriert ist. Nur weil eine Datei in einem Unterverzeichniss deines Hosters liegt heißt das nicht, dass sie automatisch unter einer Domain erreichbar ist. Es ging nur um die Frage, ob du die Datei von der gleichen Domain holen willst, das wäre jetzt beantwortet - das hätte man aber auch einfacher haben können.

Zitat:
Zitat von Patrik Neunteufel Beitrag anzeigen
zu einer Lösung hilft mir das trotzdem nicht...
Der einfachste Weg mit JS Inhalte von anderen Dateien einzubinden, ist AJAX. Wieso ist das keine Lösung?

Zitat:
Zitat von Patrik Neunteufel Beitrag anzeigen
unter JavaScript: File - HTMLWorld habe ich die Möglicheit mit
Code:
f = new File(‘abc.txt’);
f.open(‘r’);
/*…bearbeiten…*/
f.close();
gefunden, spezifisch habe ich in meinem js dann folgenden Code zum test eingefügt
Code:
		var file = new File('login.htm');
		var result = file.open("r");
		var content = result.readIn();
wobei login.htm im selben verzeichnis wie index.htm und die abrufende *.js befindet.
..aber Chrome gibt mir beim Austesten an, es seien für new File zwei Argumente erforderlich

Uncaught TypeError: Failed to construct 'File': 2 arguments required, but only 1 present.
Das Clientseitige File Objekt ist etwas anderes, als das Serverseitige - wobei ich nicht weiß, wovon der Autor spricht, serverseitiges JS ist relativ selten und heute meist als Node.js umgesetzt. Damit habe ich keine Erfahrung, vielleicht ist das Node.js Code.

Das Client File Objekt liest lokale Dateien auf dem Rechner des Browsers, wenn der Nutzer mit DnD diese auf die Seite zieht Lesen lokaler Dateien in JavaScript - HTML5 Rocks

Wie gesagt, am einfachsten geht das was du willst mit Ajax.
Mit Zitat antworten
  #7 (permalink)  
Alt 24.04.2015, 20:23
Neuer Benutzer
neuer user
Thread-Ersteller
 
Registriert seit: 15.04.2015
Beiträge: 11
Patrik Neunteufel befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von protonenbeschleuniger Beitrag anzeigen

Der einfachste Weg mit JS Inhalte von anderen Dateien einzubinden, ist AJAX. Wieso ist das keine Lösung?
da das was ich machen will, ein Webinterface für eine SPS Steuerung werden soll, welches auf einem Panel PC dargestellt wird (Trend und Echtzeit). auf diesem Controller läuft Win CE -> ASP serverseitig.
ebenso sollen diese Daten (Trends) über das Internet für die Kunden verfügbar sein, dort ist aber nur PHP verfügbar.
um den Aufwand, PHP und ASP zu programmieren zu minimieren, wollte ich AJAX auf die übermittlung der Mess- und Stellwerte des Controllers beschränken....
aber wenn's halt nur mit AJAX geht...
Mit Zitat antworten
  #8 (permalink)  
Alt 25.04.2015, 08:23
Benutzerbild von protonenbeschleuniger
Verbesserer
XHTMLforum-Kenner
 
Registriert seit: 06.09.2007
Beiträge: 4.977
protonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblick
Standard

Zitat:
Zitat von Patrik Neunteufel Beitrag anzeigen
da das was ich machen will, ein Webinterface für eine SPS Steuerung werden soll, welches auf einem Panel PC dargestellt wird (Trend und Echtzeit). auf diesem Controller läuft Win CE -> ASP serverseitig.
ebenso sollen diese Daten (Trends) über das Internet für die Kunden verfügbar sein, dort ist aber nur PHP verfügbar.
um den Aufwand, PHP und ASP zu programmieren zu minimieren, wollte ich AJAX auf die übermittlung der Mess- und Stellwerte des Controllers beschränken....
Ich weiß nicht, was die Ausführungen mit dem Problem zu tun haben.
AJAX ist eine Clientseitige Technik. Entweder kann der Browser AJAX oder nicht. Wenn er es kann, sind zwei Zeilen Code notwendig um das zu lösen was du willst. Wenn nicht musst du erstmal erklären was dir überhaupt Clientseitig zu Verfügung steht.
Mit Zitat antworten
  #9 (permalink)  
Alt 25.04.2015, 13:43
Neuer Benutzer
neuer user
Thread-Ersteller
 
Registriert seit: 15.04.2015
Beiträge: 11
Patrik Neunteufel befindet sich auf einem aufstrebenden Ast
Standard

ach... ich hab immer gedacht, auf der serverseite sei ein php oder asp nötig, um die gewünschten Daten an den Client zu senden und ich müsste so auch hier schon ein php und asp schreiben, um den Inhalt an den client zurückzuschicken....
da hab ich wohl was missverstanden und ich werd php resp. asp erst dann brauchen wenn ich dann die Daten aus einer DB aus resp. einlese... jetzt wird mir die unterscheidung zwischen get und post auch klarer...


naja, etwas mehr als zwei zeilen sind da schon nötig, auch wenn man sicherstellen will, dass es mit jedem Browser funktioniert

ab jetzt hab ich es so weit.

Geändert von Patrik Neunteufel (25.04.2015 um 13:46 Uhr)
Mit Zitat antworten
Sponsored Links
  #10 (permalink)  
Alt 26.04.2015, 15:28
Benutzerbild von protonenbeschleuniger
Verbesserer
XHTMLforum-Kenner
 
Registriert seit: 06.09.2007
Beiträge: 4.977
protonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblick
Standard

Zuerst sagst du das
Zitat:
Zitat von Patrik Neunteufel Beitrag anzeigen
da das was ich machen will, ein Webinterface für eine SPS Steuerung werden soll, welches auf einem Panel PC dargestellt wird (Trend und Echtzeit). auf diesem Controller läuft Win CE -> ASP serverseitig.
und jetzt auf einmal das
Zitat:
Zitat von Patrik Neunteufel Beitrag anzeigen
naja, etwas mehr als zwei zeilen sind da schon nötig, auch wenn man sicherstellen will, dass es mit jedem Browser funktioniert
Das wiederspricht sich. Wenn es nötig ist, dass das Skript auch im IE <7 läuft, dann ist Aufwand notwendig, ansonsten nicht. Du hast aber oben etwas von einem "Panel PC" gesagt - Das sind übrigens Informationen die für Fragen rund um JS essentiell sein können. Wir Wissen nicht was dieser "Panel PC" kann und was nicht.

Aber wenn dein Code nicht auf einem alten IE laufen soll, dann reicht das hier
Code:
var myRequest = new XMLHttpRequest();
myRequest.onload = function(data) {alert(this.responseText)};
myRequest.open("get", "yourFile.txt", true);
myRequest.send();
Vier Zeilen sind also notwendig.
Mit Zitat antworten
Sponsored Links
Antwort

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre 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 aus


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Datei neu laden, Cache, CSS, Filetime Scheppertreiber Serveradministration und serverseitige Scripte 27 18.02.2008 13:05
text aus text datei laden mol66 Serveradministration und serverseitige Scripte 26 31.01.2008 21:27
Inhalt des Contents laden? Cobain86 CSS 7 29.05.2007 13:17
html oder pdf Datei laden cgdesign Javascript & Ajax 1 09.01.2007 12:47
css datei zuerst laden BooKer CSS 12 05.12.2005 17:08


Alle Zeitangaben in WEZ +2. Es ist jetzt 04:38 Uhr.