กำลังเขียนระบบส่งเมล์ค่ะ โดยContent สามารถจัดรูปแบบด้วย wysiwyg แล้วส่งค่าให้อีก page ด้วย ajax แต่ค่าที่จัดรูปแบบด้วย wysiwyg ส่งไม่ได้ค่ะ แต่ค่าที่เป็น textfield ธรรมดาส่งได้ค่ะ  เกิดจากอะไรเหรอค่ะ รบกวนผู้รู้ด้วยค่ะ ไม่เก่ง ajax เลยค่ะ


ตัวอย่างcodeค่ะ



if (action=="sendtest") {

 var url="SendNewsletter.php";

 

}else{

 var url="add_newsletter_template.php";

}



var params=$("formID").serialize();



new Ajax.Request(url, {onComplete: showResponse, onException:showException, onFailure:showException, asynchronous:true, method: 'post', evalScripts:false, postBody:params});





 

กรกฎ วิริยะ 06 Oct 2010 14:13
ไม่รู้ว่าใช้อะไรในการส่งเมล์นะครับ ถ้าต้องการส่งเมล์แบบ HTML ผมแนะนำให้ใช้ [search]PHPMailer[/search] ในการส่งครับ



ถ้าจะส่งผ่าน mail ของ PHP กำหนด Header เป็น HTML หรือยังครับ ดู [search]mail HTML[/search]
ULTRA SE7EN 06 Oct 2010 16:36


ปัญหาไม่ได้อยู่ที่การส่งเมล์ค่ะ ปัญหาคือการส่งค่าใน textarea ที่ใช้ wysiwyg จัดรูปแบบค่ะ 



สรุปแล้วมี 2 pageค่ะ

1.index.php เป็นหน้าที่ มี form ให้กรอก หัวข้อของ email แล้วเนื้อหาของemail(textarea ที่ใช้ wysiwyg จัดรูปแบบ) 

2.send_mail.php เป็นหน้าที่ใช้รับค่าจาก index.php โดยใช้ ajax code จากข้างบนส่ง

 

  แต่ปรากฎว่าค่าที่ส่งได้ มีแต่ หัวข้อของemail ซึ่งเป็น textfield ธรรมดา แต่เนื้อหาของemail(textarea ที่ใช้ wysiwyg จัดรูปแบบ) ส่งไม่ได้ค่ะ กลายเป็นค่าว่าง เลยคิดว่าปัญหาน่าจะอยู่ที่ Ajax.Request ที่ไม่สามารถส่งค่าจาก  form ในรูปของ html ได้ค่ะ

เพราะถ้าเป็นการส่งค่าโดยวิธีธรรมดาจะส่งได้ พอเปลี่ยนเป็นใช้ ajax ส่งแล้วมีปัญหาค่ะ 



 


ULTRA SE7EN 06 Oct 2010 16:46


เพิ่งค้นกระทู้เก่าๆ เจอหัวข้อ GAJAX กับ CKEditor 3.0.1http://www.goragod.com/forum.html?wbid=1310&q=ajax

ปัญหาน่าจะเหมือนกันค่ะ แต่เปลี่ยนจาก CKEditor 3.0.1เป็น wysiwyg น่ะค่ะ แล้วก็พยายามไปอ่าน document ของ wysiwyg

แต่ไม่มีที่เขียนถึงค่ะ


กรกฎ วิริยะ 06 Oct 2010 17:23
เข้าใจและ...



ปัญหาเกิดจากเราไม่สามารถอ่านข้อความตรงๆจาก textarea ได้ครับ เช่น textarea.value จะใช้ไม่ได้กับ wysiwyg โดยทั่วไป



การแก้ไขมีวิธีเดียวครับคือต้องไปหาเอาจาก document ของ wysiwyg ที่ใช้ ซึ่งจะแตกต่างกันตามแต่ละยี่ห้อครับ หรือดูจากตัวอย่างของ wysiwyg นั้นๆ (มันจะมีฟังก์ชั่นของ Javascript ที่สามารถอ่านข้อความที่เขียนได้ครับ)
ULTRA SE7EN 06 Oct 2010 17:44


ขอบคุณค่ะ สงสัยจะจนปัญญาแล้วค่ะ เพราะไปอ่าน document ก็บอกวิธีใช้บรรทัดเดียวเลยค่ะ พยายามมา 2 วัน คงต้องส่งโดยวิธีธรรมดาแล้วค่ะ


กรกฎ วิริยะ 06 Oct 2010 18:17
ผมว่านะ ทำไม่ไม่ submit ผ่านฟอร์มละครับ เพราะมันน่าจะได้ผลดีกว่า เช่น



1.ปกติแล้ว ฟอร์มส่งเมล์ เมื่อส่งแล้วมักจะต้องเคลียร์ฟอร์ม ดังนั้น submit ไปเลยน่าจะดีกว่า ไม่ต้องมาเขียนโค้ดเพื่อเคลียร์ฟอร์มเอง

2.การส่งโดยการ submit ผ่านฟอร์ม โดยปกติ wysiwyg ทั่วไปทำได้ทั้งนั้น โดยรับค่าที่ name ของ textarea ที่เรากำหนด ดังนั้นมันจะเป็นการง่ายมากหากใช้วิธีนี้
ULTRA SE7EN 07 Oct 2010 09:20


คือทำ form sent mail ที่สามารถ save draft ได้ด้วยน่ะค่ะ คือทั้ง send mail หรือ save draft ได้ใน form เดียวน่ะค่ะ เหมือน hotmail น่ะ ความจริงก็ submit ผ่าน form ง่ายกว่ามากจริงๆค่ะ หุหุ


กรกฎ วิริยะ 07 Oct 2010 09:24
จะ draft ไว้ ก็ทำตอน submit ก้เหมือนกันแหละครับ