Ricevi un valore aggiornato da una textarea e inseriscilo in un div con jQuery?
-
07-07-2019 - |
Domanda
eccone uno facile (con cui sto lottando)! Ho una textarea, un pulsante e un div vuoto. Tutto quello che voglio fare è inserire il contenuto aggiornato dell'area di testo nel div onFare clic sul pulsante. Ecco cosa ho ottenuto finora:
<html>
<head>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript">
function get_text() {
$("#preview").replaceWith( $("#editor").val() );
}
</script>
</head>
<body>
<form>
<textarea name="editor" id="editor">GrumbleCakes</textarea>
<input type="button" value="Preview" onclick="get_text();" />
</form>
<div id="preview"></div>
</body>
</html>
Funziona la prima volta che fai clic sul pulsante ... con il valore presente nell'area di testo al caricamento della pagina (" GrumbleCakes "), ma questo è tutto. Non funzionerà con alcun testo aggiornato.
Altri suggerimenti
.replaceWith
sostituisce effettivamente l'elemento DOM. Quindi il div viene rimosso e sostituito con il testo. Le chiamate successive alla funzione non troveranno più il div, poiché è stato rimosso.
Penso che tu voglia usare
.html ($ (" # editor di ".) Val ()).
Entrambi
$ ( '# anteprima "). Html ($ (" # editor di ".) Val ())
e
$ (" # preview "). text ($ (" # editor "). val ())
dovrebbe funzionare.
Tuttavia, .html consentirà a chiunque di iniettare html o javascript nel tuo sito lasciandolo aperto per attacchi di cross-site scripting ...
jikes !!
man stai sostituendo div con i contenuti della textarea. utilizzare invece questa funzione:
function get_text(){
var t=$("editor").val();
$("#preview").text(t);
}