มีปัญหา: ฉันต้องสร้างรหัส html จากการบรรจุของ div ที่กำหนด จากนั้นฉันต้องใส่รหัส html ดิบนี้ใน textarea เมื่อฉันใช้ฟังก์ชัน $ (textarea) .val () เช่นนี้:
$ (textarea) .val ("บาง html เช่น <input type = 'text' value = '' style =" background: url ('http://www.w.com/bg.gif') ศูนย์ซ้ำ x "/> bla bla");
หรือ
$ ('# idTxtArGenHtml'). val ($ ('idDivMain'). html ());
ฉันมีปัญหากับอักขระพิเศษบางตัว (& '") เมื่ออยู่ระหว่าง quot; แต่เมื่อฉันใช้ฟังก์ชั่น: $ (textarea) .html () ข้อความก็โอเค
มีแบบฟอร์มตัวอย่าง:
<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>
และรหัส javascript / jquery ที่ไม่สามารถเติม textarea ได้คือ:
function onGenHtml(){
$('#idTxtArGenHtml').html( $("#idDivMain").html() );
}
ขั้นสุดท้ายแก้ปัญหา:
function onGenHtml(){
$('#idTxtArGenHtml').html( $("#idDivMain").html() );
$('#idTxtArGenHtml').parent().replaceWith( '<span>'+$('#idTxtArGenHtml').parent().html()+'</span>');
}
เคล็ดลับคือตัด textarea ของคุณด้วยแท็ก span เพื่อช่วยในการ replaceWith ฟังก์ชั่น ฉันไม่แน่ใจว่ามันสะอาดมากหรือไม่ แต่มันก็ทำงานได้สมบูรณ์แบบเช่นกันเพิ่มรหัส html ดิบลงใน textarea