Mit Hilfe von Javascript ersetzen von Text in HTML-Tags mit innerHTML und Funktionen
Ich versuche zu ändern, wird der text in einem h1-tag mit dem element id "Gruß" und eine externe java-script. Ich habe Probleme, um herauszufinden, wie rufe meine Funktion init, die erhobenen Variablen und verwenden Sie Sie in die nächste Funktion. Heres was ich habe, so weit.
HTML
<head>
<title>Matt Beckley</title>
<script type="text/javascript" src="script1.js"></script>
</head>
<body>
<h1 id="greeting">Welcome!</h1>
</body>
</html>
DEM SKRIPT, WO DAS PROBLEM IST!
window.onload = init;
function init()
{
var fullname=prompt("Please Enter you name!","Anonymous ");
(fullname == "Anonymous")? "Anonymous " : "";
var nickname=prompt("Please Enter you nickname!"," None");
(nickname == "None")? " None": "";
}
function writeGreeting()
{
document.getElementById("greeting").innerHTML= ?????????
}
So, ich weiß nicht wie man die Letzte Funktion arbeiten, so dass der h1-tag zeigt einen Namen und einen Nicknamen. w3schools zeigt nur "Streicher" und nicht die Möglichkeit zum Aufruf der anderen Funktion. Wer weiß, wie dies zu tun?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wie etwa die Zusammenlegung der
init
undwriteGreeting
Funktionen:p.s. Kleiner Punkt der Grammatik - Sie möchten wahrscheinlich "Bitte geben Sie Ihren Namen ein", anstatt "Bitte Geben Sie den Namen", und ebenso für die nickname-Eingabeaufforderung.
Warum nicht .innereText statt?
textContent
statt. Aber ja, Sie definitiv nicht wollen, zu schreiben ohne Umschreibung textinnerHTML
.Wie etwa wie diese?
Zeigt es "Willkommen fullname!" oder "Willkommen nickname!" oder "Willkommen Anonym!" wenn Sie nicht, stellen Sie keine.
Ich mag Dominic Lösung. Nur Bedenken Sie, dass Sie sollten vorsichtig sein mit allen Daten die von einem Benutzer eingegeben. Ich würde empfehlen, Flucht-string mit
escape()
- Funktion, bevor Sie Sie verwenden.z.B.
escape
sollte niemals verwendet werden, für nichts. Die richtigen escape-HTML-Codierung, ersetzen von<
mit<
und&
mit&
.Versuchen. Getestet mit ie, chrome und ff (alle aktuellen).