In JavaScript kann das Abrufen des Werts eines ausgeblendeten Felds zur Anzeige in einem Textfeld ein Codierungsproblem darstellen. Betrachten Sie das folgende Beispiel:
<input>
Wenn Sie jQuery verwenden, um den Wert aus dem versteckten Feld abzurufen, verliert JavaScript seine Kodierung:
$('#hiddenId').attr('value')
Die gewünschte Ausgabe ist „chalk & Cheese“ mit das wörtliche „&“ bleibt erhalten.
Um dieses Problem zu beheben, stellen wir Folgendes vor Funktionen:
function htmlEncode(value) { return $('<textarea/>').text(value).html(); } function htmlDecode(value) { return $('<textarea/>').html(value).text(); }
Diese Funktionen erstellen ein speicherinternes Textarea-Element, legen seinen inneren Text fest und rufen dann den kodierten Inhalt (htmlEncode) oder den dekodierten inneren Text (htmlDecode) ab. Das Element existiert nie im DOM.
Der folgende Code zeigt, wie diese Funktionen verwendet werden:
let encodedValue = htmlEncode('chalk & cheese'); console.log(encodedValue); // Outputs "chalk &amp; cheese" let decodedValue = htmlDecode(encodedValue); console.log(decodedValue); // Outputs "chalk & cheese"
Durch die Verwendung dieser Funktionen können Sie effektiv warten HTML-Codierung beim Abrufen von Werten aus Eingabefeldern in JavaScript.
Das obige ist der detaillierte Inhalt vonWie kann ich den Verlust der HTML-Codierung beim Abrufen von Werten aus Eingabefeldern in JavaScript verhindern?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!