Di sana masalahnya: Saya perlu membuat kode html dari isi div yang diberikan. Lalu, saya harus memasukkan kode html mentah ini ke dalam textarea. Ketika saya menggunakan fungsi $ (textarea) .val () seperti ini:
$ (textarea) .val ("beberapa html seperti <input type = 'text' value = '' style =" background: url ('http://www.w.com/bg.gif') repeat-x center; "/> bla bla");
atau
$ ('# idTxtArGenHtml'). val ($ ('idDivMain'). html ());
Saya punya masalah dengan beberapa karakter khusus (& '") ketika mereka berada di antara tanda kutip. Tetapi ketika saya menggunakan fungsi: $ (textarea) .html () teksnya ok.
Ada contoh formulir:
<FORM id="idFormContact" name="nFormContact" action="send.php" method="post" >
<FIELDSET id="idFieldContact" class="CMainFieldset">
<LEGEND>Test your newsletter» </LEGEND>
<p>Send to à : <input id='idInpMailList' type='text' value='youremail@gmail.com' /></p>
<FIELDSET class="CChildFieldset">
<LEGEND>Subject</LEGEND>
<LABEL for="idNomClient" class="CInfoLabel">Enter the subject: * </LABEL><BR/>
<INPUT value="" name="nSubject" type="text" id="idSubject" class="CFormInput" alt="Enter the Subject" ><BR/>
</FIELDSET>
<FIELDSET class="CChildFieldset">
<INPUT id="idBtnGen" type="button" value="Generate" onclick="onGenHtml();"/>
<INPUT id="idBtnSend" type="button" value="Send" onclick="onSend();"/><BR/><BR/>
<LEGEND>Message</LEGEND>
<LABEL for="idTxtArGenHtml" class="CInfoLabel">Html code : * </LABEL><BR/>
<span><TEXTAREA name="nTxtArGenHtml" id="idTxtArGenHtml" width='100%' cols="69" rows="300" alt="enter your message" ></TEXTAREA></span>
</FIELDSET>
</FIELDSET>
</FORM>
Dan kode javascript / jquery yang tidak berfungsi untuk mengisi textarea adalah:
function onGenHtml(){
$('#idTxtArGenHtml').html( $("#idDivMain").html() );
}
Akhirnya solusinya:
function onGenHtml(){
$('#idTxtArGenHtml').html( $("#idDivMain").html() );
$('#idTxtArGenHtml').parent().replaceWith( '<span>'+$('#idTxtArGenHtml').parent().html()+'</span>');
}
Caranya adalah membungkus teks Anda dengan tag rentang untuk membantu dengan fungsi replaceWith. Saya tidak yakin apakah itu sangat bersih, tetapi berfungsi dengan baik juga menambahkan kode html mentah dalam textarea.