Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

gelöst Per Javascript Datei anhand von gewählten Datum einbinden

Mitglied: Bem0815

Bem0815 (Level 2) - Jetzt verbinden

22.05.2019, aktualisiert 08:57 Uhr, 240 Aufrufe, 2 Kommentare

Moin zusammen,
ich bin leider im Thema Javascript so gar nicht beheimatet, bräuchte hier aber etwas, vielleicht kann mir hier wer mit einem Denkanstoß oder gar einer fertigen Datei helfen

Ich habe ein Script gefunden und leicht angepasst, dass mir per Javascript eine XML Datei in eine HTML Table lädt.
Da die XML einen Timestamp im Dateinamen trägt und täglich eine neue XML Datei generiert wird, würde ich das Script gerne so anpassen, dass man in der HTML Datei vorab den Tag, den Monat und das Jahr auswählen kann und dann die XML Datei mit passendem Timestamp geladen wird.
(Entweder mit 3 Dropdown Feldern für Tag, Monat und Jahr oder noch besser ein Kalender in dem man das Datum auswählen kann, falls das nicht zuviel Arbeit ist.)

Aktuell wird nur eine daten.xml geladen später soll es dann eine daten-yymmdd.xml sein.
(Beispiel für das heutige Datum: daten-190522.xml)

Der aktuelle Code lautet wie folgt:

01.
<!DOCTYPE html>
02.
<html>
03.
<style>
04.
table,th,td {
05.
  border : 1px solid black;
06.
  border-collapse: collapse;
07.
}
08.
th,td {
09.
  padding: 5px;
10.
}
11.
</style>
12.
<body>
13.

14.
<button type="button" onclick="loadXMLDoc()">Daten laden</button>
15.
<br><br>
16.
<table id="tabelle"></table>
17.

18.
<script>
19.
function loadXMLDoc() {
20.
  var xmlhttp = new XMLHttpRequest();
21.
  xmlhttp.onreadystatechange = function() {
22.
    if (this.readyState == 4 && this.status == 200) {
23.
      myFunction(this);
24.
    }
25.
  };
26.
  xmlhttp.open("GET", "daten.xml", true);
27.
  xmlhttp.send();
28.
}
29.
function myFunction(xml) {
30.
  var i;
31.
  var xmlDoc = xml.responseXML;
32.
  var table="<tr><th>Mitarbeiter</th><th>Loginname</th><th>Uhrzeit</th></tr>";
33.
  var x = xmlDoc.getElementsByTagName("Datensatz");
34.
  for (i = 0; i <x.length; i++) { 
35.
    table += "<tr><td>" +
36.
    x[i].getElementsByTagName("Mitarbeiter")[0].childNodes[0].nodeValue +
37.
    "</td><td>" +
38.
	x[i].getElementsByTagName("Loginname")[0].childNodes[0].nodeValue +
39.
    "</td><td>" +
40.
    x[i].getElementsByTagName("Uhrzeit")[0].childNodes[0].nodeValue +
41.
    "</td></tr>";
42.
  }
43.
  document.getElementById("tabelle").innerHTML = table;
44.
}
45.
</script>
46.

47.
</body>
48.
</html>
Schon mal Danke für die Hilfe.
Mitglied: eisbein
LÖSUNG 22.05.2019 um 11:36 Uhr
Hallo!

Dieses Beispiel zeigt, wie du ein Datum auswählen kannst.
01.
<script>
02.
function get_Date()
03.
{
04.
var Datum=new Date(document.getElementById('Datum_Auswahl').value);
05.
alert (Datum);
06.
}
07.
</script>
08.

09.
<input type='date' id='Datum_Auswahl' onChange='get_Date()' >
Das Datum wird in die gleichnamige Variable geschrieben. Jetzt musst du nur noch das Format anpassen (zB. mittels https://momentjs.com/) und dir einen Sting basteln, der deiner Dateisyntax entspricht.

Gruß
eisbein
Bitte warten ..
Mitglied: Bem0815
22.05.2019 um 13:40 Uhr
Danke, das hat mir den richtigen Denkanstoß gegeben auch wenn meine Lösung nun anders aussieht.

Hatte noch ein wenig recherchiert und dadurch erst herausgefunden, dass HTML5 eine Datumsauswahl als Form anbietet und das gar nicht per JS gelöst wird.

Dann hab ich noch ein JS gefunden, dass den heutigen Tag schon mal in der Datumsauswahl Form als default Value ausspuckt.

momentjs hab ich mir dann gespart, hab mir das Krafmuschel Script, dass mir meine XML erzeugt umgeschrieben, damit die Dateien einfach schon das passende Datumsformat haben, dass JS benutzt und ich hier nicht das Datumsformat über JS noch anpassen muss.

Durch das JS für den default Value war auch schon eine variable mit dem Datum vorhanden die ich dann nur noch in den String packen musste.

Date Form und JS für den default Value:

01.
<input type="date" name="Datum" id="theDate">
02.

03.
<script>
04.
var date = new Date();
05.

06.
var day = date.getDate();
07.
var month = date.getMonth() + 1;
08.
var year = date.getFullYear();
09.

10.
if (month < 10) month = "0" + month;
11.
if (day < 10) day = "0" + day;
12.

13.
var today = year + "-" + month + "-" + day;       
14.
document.getElementById("theDate").value = today;
15.
</script>
Anpassung des String:

01.
  xmlhttp.open("GET", "login-" + theDate.value + ".xml", true);
kompletter Code:
01.
<!DOCTYPE html>
02.
<html>
03.
<style>
04.
table,th,td {
05.
  border : 1px solid black;
06.
  border-collapse: collapse;
07.
}
08.
th,td {
09.
  padding: 5px;
10.
}
11.
</style>
12.
<body>
13.

14.
<input type="date" name="Datum" id="theDate">
15.

16.
<script>
17.
var date = new Date();
18.

19.
var day = date.getDate();
20.
var month = date.getMonth() + 1;
21.
var year = date.getFullYear();
22.

23.
if (month < 10) month = "0" + month;
24.
if (day < 10) day = "0" + day;
25.

26.
var today = year + "-" + month + "-" + day;       
27.
document.getElementById("theDate").value = today;
28.
</script>
29.

30.
<button type="button" onclick="loadXMLDoc()">Daten laden</button>
31.
<br><br>
32.
<table id="tabelle"></table>
33.

34.
<script>
35.
function loadXMLDoc() {
36.
  var xmlhttp = new XMLHttpRequest();
37.
  xmlhttp.onreadystatechange = function() {
38.
    if (this.readyState == 4 && this.status == 200) {
39.
      myFunction(this);
40.
    }
41.
  };
42.
  xmlhttp.open("GET", "login-" + theDate.value + ".xml", true);
43.
  xmlhttp.send();
44.
}
45.
function myFunction(xml) {
46.
  var i;
47.
  var xmlDoc = xml.responseXML;
48.
  var table="<tr><th>Mitarbeiter</th><th>Loginname</th><th>Uhrzeit</th></tr>";
49.
  var x = xmlDoc.getElementsByTagName("Datensatz");
50.
  for (i = 0; i <x.length; i++) { 
51.
    table += "<tr><td>" +
52.
    x[i].getElementsByTagName("Mitarbeiter")[0].childNodes[0].nodeValue +
53.
    "</td><td>" +
54.
	x[i].getElementsByTagName("Loginname")[0].childNodes[0].nodeValue +
55.
    "</td><td>" +
56.
    x[i].getElementsByTagName("Uhrzeit")[0].childNodes[0].nodeValue +
57.
    "</td></tr>";
58.
  }
59.
  document.getElementById("tabelle").innerHTML = table;
60.
}
61.
</script>
62.

63.
</body>
64.
</html>
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
Datei mit Datum im Namen erstellen
gelöst Frage von pbelclBatch & Shell6 Kommentare

Ich habe mir ein kleines Batch geschrieben, das mir eine Date erstellt, die im Namen das Datum und die ...

JavaScript
Zeit und Datum in Datei schreiben
Frage von MarcysJavaScript2 Kommentare

Hallo, mit Node-Red habe ich den Temperatursensor DHT22 ans Laufen bekommen. Ich habe zwei Node-Funktionen erstellt, die mir die ...

Batch & Shell
Kopieren einer Datei mit Datum per PS
gelöst Frage von xm-bitBatch & Shell4 Kommentare

Hallo, ich brauche mal eure Hilfe. Ich möchte eine Datei per Powershell kopieren. Im Ergebnis soll gleichzeitig das aktuelle ...

JavaScript
Javascript Funktionen
gelöst Frage von agowa338JavaScript5 Kommentare

Hallo, habe gerade mehrere schönen Javascripte per mail bekommen und frage mich gerade, was eigentlich folgendes in einem Javascript ...

Neue Wissensbeiträge
Windows 10

Bug: Windows 10 Enterprise LTSC erhält Funktionsupdate angeboten

Information von kgborn vor 9 StundenWindows 10

Der Fehler ist mittlerweile zwar korrigiert, aber ich denke, ich stelle die Info doch mal hier für Leute ein, ...

Viren und Trojaner

Entschlüsselungs-Tool für aktuelle GandCrab-Version verfügbar

Information von MrCount vor 14 StundenViren und Trojaner

Für alle Betroffenen gibt es offenbar ein Tool zur Entschlüsselung. Dann wird wohl die nächste version von GandCrap nicht ...

LAN, WAN, Wireless
Sophos RED50 stürzt ab und ist danach tot
Information von Ex0r2k16 vor 4 TagenLAN, WAN, Wireless3 Kommentare

Hey, nach meinem Thread bin ich durch Zufall auf das hier gestoßen: Also wenn ihr UTMs und RED50's im ...

Windows 10

Microsoft macht Bluetooth absichtlich kaputt: Windows 10 Update blockiert Bluetooth-Verbindungen zu Android

Tipp von 1Werner1 vor 4 TagenWindows 107 Kommentare

Moin, jetzt spinnt MS total , was muss ich da auf Chip.de lesen: Auch im Juni schließt Microsoft im ...

Heiß diskutierte Inhalte
Viren und Trojaner
Gefahr - Risiko zwischen doc xls und docx xlsx
Frage von Asker06Viren und Trojaner33 Kommentare

Guten Tag, ich wollte wissen ob die .doc und .xls datein viel gefährlicher sind als .docx und .xlsx?? Ich ...

Sicherheit
Wie sichert (verschlüsselt) ihr eure Passwörter ?
gelöst Frage von decehakanSicherheit20 Kommentare

Hallo Admins, Mittlerweile hat man für jeden Dienst seine Zugangsdaten, sei es Amazon, Bank, FB, etc , vor allem ...

Ubuntu
Notfall - VMs sind alle runtergefahren
gelöst Frage von JohnWorksUbuntu12 Kommentare

Hallo Zusammen, ich habe einen kleinen Notfall und zwar sind alle VMs runtergefahren. Ich dachte erst an den Speicherplatz ...

Windows Netzwerk
Standardgateway bei Clients mit statischer IP Adresse ändern
Frage von sammy65Windows Netzwerk11 Kommentare

Hallo miteinander, Wie kann ich über eine GPO die Standardgateway an meinen Clients ändern? Ich habe das versucht?: Es ...