Das Problem ist, dass Sie nur mit text
die Daten zu erhalten versuchen, (was nicht überall erklärt wird) statt den Wert des Eingangs.
Sie die Linie gehabt haben könnte:
var text = document.getElementById("emailIn").value;
Und dann würde der Code gearbeitet haben, aber da Sie werden nur die Informationen zu verwenden, nur ein einziges Mal, eine Variable für die Speicherung der Daten machen doesn Es macht keinen Sinn. Stattdessen können Sie einfach den Wert abrufen und alles in einer Zeile zuweisen.
Verwenden Sie auch keine Inline-HTML-Ereignisattribute (onclick
). Bewahren Sie Ihr gesamtes JavaScript vollständig getrennt von Ihrem HTML-Code auf und verwenden Sie moderne Standards zum Einrichten von Event-Handlern. Here's warum.
Schließlich bewirkt .innerHTML
, dass die angegebene Datenkette vom HTML-Parser analysiert wird. Da der Wert, mit dem Sie arbeiten, keinen HTML-Code enthält, verwenden Sie besser .textContent
, wodurch die Zeichenfolge nicht als HTML verarbeitet wird. Es ist ein bisschen besser auf die Leistung, um die entsprechende zu verwenden.
// Get reference to the submit button
var btn = document.querySelector(".signupbtn");
// Modern DOM standard for setting up event listeners
btn.addEventListener("click", myFunction);
function myFunction() {
// Use textContent instead of innerHTML when there won't be any HTML
document.getElementById("demo").textContent = document.getElementById("emailIn").value;
}
<form class="modal-content" action="#" style="margin-top:10%;">
<div class="container">
<label><b>Email</b></label>
<input id="emailIn" type="email" placeholder=" [email protected]" name="email" required>
<br/><br/>
<div class="clearfix">
<button type="submit" class="signupbtn">Sign Up</button>
</div>
</div>
</form>
<p id="demo"></p>
var text = Dokument .getElementById ("emailIn"). – tech2017
Wow! Ich hasse diese Zettel. Danke allen! Der "var text" war der Schuldige. –