GORAGOD.com

freelance, web developer, web designer, hosting, domain name

ปัญหา Ajaxกับwysiwyg

กำลังเขียนระบบส่งเมล์ค่ะ โดย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 ต.ค. 2553 8 2,554

ไม่รู้ว่าใช้อะไรในการส่งเมล์นะครับ ถ้าต้องการส่งเมล์แบบ HTML ผมแนะนำให้ใช้ PHPMailer ในการส่งครับ



ถ้าจะส่งผ่าน mail ของ PHP กำหนด Header เป็น HTML หรือยังครับ ดู mail HTML
#1


ปัญหาไม่ได้อยู่ที่การส่งเมล์ค่ะ ปัญหาคือการส่งค่าใน 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 ส่งแล้วมีปัญหาค่ะ 



 


#2


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

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

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


#3

เข้าใจและ...



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



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


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


#5

ผมว่านะ ทำไม่ไม่ submit ผ่านฟอร์มละครับ เพราะมันน่าจะได้ผลดีกว่า เช่น



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

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


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


#7

จะ draft ไว้ ก็ทำตอน submit ก้เหมือนกันแหละครับ
#8
ความคิดเห็น
ไฟล์อัปโหลด ชนิด jpg, jpeg ขนาดไฟล์ไม่เกิน 2M
^