Mit innerHTML in eine bestimmte HTML-Datei schreiben

marlem

Bekanntes Mitglied
Hallo,

in meiner index.html-datei steht unter anderem folgendes drin:
HTML:
 <input type="button" value="Analyse" accesskey="n" onclick="HauptspracheDerWebseite()" title="Analyse starten" style="padding:10px;width:90%; font-size:120%;">

in meiner AChecker_Ergebnis.html steht unter anderem folgendes drin:
HTML:
<body>
<p id="AnalyseErgebnis">

</p>
</body>

Die Javascriptfunktion sieht wie folgt aus:
Javascript:
function [B]HauptspracheDerWebseite()[/B]{
    vLangWeb = document.documentElement.lang;
    if (isBlank(vLangWeb) == true){
    document.getElementById("AnalyseErgebnis").innerHTML += "FEHLER: Die Sprache der Webseite wurde nicht angegeben!";
    }
}

Frage:
Warum klappt es nicht, dass die Javascriptfunktion HauptspracheDerWebseite() in die Datei AChecker_Ergebnis.html schreibt?
 

httpdigest

Top Contributor
Öffne einfach die DevTools des jeweiligen Browsers. Wenn du sonst keine Libs einbindest, dann wird er dir folgendes ausgeben:
Code:
Uncaught ReferenceError: isBlank is not defined
Mein Test-HTML:
HTML:
<html>
<body>
<input type="button" value="Analyse" accesskey="n" onclick="HauptspracheDerWebseite()" title="Analyse starten" style="padding:10px;width:90%; font-size:120%;">
<p id="AnalyseErgebnis">
</p>
<script>
function HauptspracheDerWebseite(){
    vLangWeb = document.documentElement.lang;
    if (isBlank(vLangWeb) == true){ // <- Exception hier!!!
        document.getElementById("AnalyseErgebnis").innerHTML += "FEHLER: Die Sprache der Webseite wurde nicht angegeben!";
    }
}
</script>
</body>
</html>
 

mihe7

Top Contributor
@marlem Ich verstehe ehrlich gesagt gar nicht, wie Du auf die Idee kommst, dass das funktionieren sollte. Die index.html und die AChecker_Ergebnis.html stehen doch in gar keinem Bezug zueinander - zumindest sehe ich hier keinen.

Die JavaScript-Funktion wird von einem Button aufgerufen, der sich in index.html befindet. Daher referenziert document auch das Objekt, das die Datei "index.html" repräsentiert.
 

marlem

Bekanntes Mitglied
Öffne einfach die DevTools des jeweiligen Browsers. Wenn du sonst keine Libs einbindest, dann wird er dir folgendes ausgeben:
Code:
Uncaught ReferenceError: isBlank is not defined
Mein Test-HTML:
HTML:
<html>
<body>
<input type="button" value="Analyse" accesskey="n" onclick="HauptspracheDerWebseite()" title="Analyse starten" style="padding:10px;width:90%; font-size:120%;">
<p id="AnalyseErgebnis">
</p>
<script>
function HauptspracheDerWebseite(){
    vLangWeb = document.documentElement.lang;
    if (isBlank(vLangWeb) == true){ // <- Exception hier!!!
        document.getElementById("AnalyseErgebnis").innerHTML += "FEHLER: Die Sprache der Webseite wurde nicht angegeben!";
    }
}
</script>
</body>
</html>

Sorry, habe ich vergessen:
Javascript:
//Ist ein String leer
function isBlank(str) {
    return (!str || /^\s*$/.test(str));
}
 

marlem

Bekanntes Mitglied
@marlem Ich verstehe ehrlich gesagt gar nicht, wie Du auf die Idee kommst, dass das funktionieren sollte. Die index.html und die AChecker_Ergebnis.html stehen doch in gar keinem Bezug zueinander - zumindest sehe ich hier keinen.

Die JavaScript-Funktion wird von einem Button aufgerufen, der sich in index.html befindet. Daher referenziert document auch das Objekt, das die Datei "index.html" repräsentiert.

Ich habe eigentlich gedacht, dass er nach der Id AnalyseErgebnis sucht:
Javascript:
document.getElementById("AnalyseErgebnis").innerHTML += "FEHLER: Die Sprache der Webseite wurde nicht angegeben!";

Aber gut, Dein Argument leuchtet ein!
Was muss ich tun, damit es klappt?
 

mihe7

Top Contributor
Du müsstest erstmal den Zusammenhang zwischen den beiden Dateien erklären: ist das eine Dokument im anderen eingebettet oder befinden sie sich in verschiedenen Browser-Fenstern (bzw. -Tabs).
 

marlem

Bekanntes Mitglied
Die index.html-Datei wird auf Barrierefreiheit überprüft.
In die AChecker_Ergebnis.html-Datei soll ein Report von Allen Überprüfungen hineingeschrieben werden.
 

krgewb

Top Contributor
Mit innerHTML kannst du z.B. dem Nutzer einen Text anzeigen lassen. Wenn er den Browser-Tab neulädt, ist alles wieder beim Alten.
Die html-Datei an sich wird nicht manipuliert.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
Noahscript [Frage]: Wie erstelle ich eine htmlspecialchars_decode mit JavaScript? Angular, React, JQuery - Fragen zu JavaScript 1
M Textfeld -- Nach einer erstmaligen Eingabe, eine zweite Eingabe nur noch gegen Bestätigung möglich Angular, React, JQuery - Fragen zu JavaScript 4
A Ich habe eine frage zu JavaScript adblock detector? Wenn jemand auf OK Klick soll die Sete neu geladen werden Angular, React, JQuery - Fragen zu JavaScript 1
N Javascript: mehrere Textfelder prüfen ob es sich um eine Zahl handelt und diese zwischen 1 und 49 liegt Angular, React, JQuery - Fragen zu JavaScript 10
D Javascript um eine Seite in einem PDF Formular ein-/Ausblenden zu lassen Angular, React, JQuery - Fragen zu JavaScript 3
R Suche Möglichkeit eine ID durch Dateiendung zu ergänzen [location.href / getElementById ] Angular, React, JQuery - Fragen zu JavaScript 4
C In Seite eine Seite laden mit Java? Angular, React, JQuery - Fragen zu JavaScript 5
bugmenot Warum werden die Werte nicht in eine Tabelle geschrieben? Angular, React, JQuery - Fragen zu JavaScript 9
G Wie schaut eine JS Klasse aus Angular, React, JQuery - Fragen zu JavaScript 4
BongPow3r Bild erst verdunkeln, Mouseover Bild normal+eine Art Popup? Angular, React, JQuery - Fragen zu JavaScript 2
S Suche eine bestimmte Seite Angular, React, JQuery - Fragen zu JavaScript 3
F Nach Schließen des Browsers eine neue Seite öffnen Angular, React, JQuery - Fragen zu JavaScript 2
P Escape: Onlinespiel - möchte eine Highscore Liste machen Angular, React, JQuery - Fragen zu JavaScript 8
T wie kann ich daraus eine Funktion machen? Angular, React, JQuery - Fragen zu JavaScript 2

Ähnliche Java Themen

Neue Themen


Oben