View Full Version : سوال: خواندن محتوای ادیتور به صورت html و بازیابی دوباره آن
majid784
سه شنبه 03 آبان 1390, 16:30 عصر
سلام دوستان.
من دارم توی سایتم از ادیتوری مثل ckeditor استفاده میکنم و نیاز دارم که به صورت داینامیک ادیتور ایجاد بشه. یعنی یک دکمه add دارم که وقتی کاربر کلیک میکنه یه ادیتور تو این صفحه ایجاد میشه! بنابراین نیاز دارم محتوای این ادیتورها رو به صورت html ذخیره کنم(نه توی دیتابیس). تا وقتی ادیتور جدید ایجاد میکنم بتونم محتوای ادیتورهای قبلی رو بازیابی کنم. حالا سوالم اینه که با توجه به این که ادیتورها خصوصیتی مثل innerhtml ندارن، چطوری محتوای ادیتور رو save کنم و بعد دوباره بازیابیش کنم و همون محتوای قبلی رو توی ادیتور نشون بدم؟
Saman Hashemi
سه شنبه 03 آبان 1390, 16:40 عصر
خاصیت visible نداره!؟!
از چه ادیتوری استفاده میکنی؟
از Cache میتونی استفاده کنی...!
b.paseban
سه شنبه 03 آبان 1390, 16:44 عصر
سلام بر شما.
اگه منظورتون ایجاد خود ادیتور بدون محتوای داخل اونه (منظور از محتوی متنی که در آن قرار دادیم) شما میتونید ادیتور رو داخل یه panel قرار بدید و panel.show رو برابر false قرار دهید و بعد از کلیک کاربر این مقدار رو برابر true قرار دهید.
majid784
سه شنبه 03 آبان 1390, 17:00 عصر
بزارین منظورم رو دقیقتر بگم. من میخوام کاربر بتونی سوالی رو ایجاد کنه و برای اون سوال گزینه هایی رو هم طرح کنه که میتونه مثلا بین دوتا شش تا گزینه متغیر باشه. و میخوام بتونه سوال و جوابها را داخل ادیتور طرح کنه. فعلا دارم از dkeditor استفاده میکنم. در ابتدا 3تا ادیتور گذاشتم. یکی برای سوال و دوتا برای جواب(چون میخوام اگه دوتا گزینه طرح نکرده سوال اصلا وارد دیتابیس نشه) و این امکان رو میدم که با کلیک کردن روی add option یه ادیتور ایجاد بشه برای گزینه بعدی. میخوام هر بار که کاربر این دکمه add optionرو میزنه محتوای درون ادیتورهای قبلی از بین نره که بعد بتونم بخونمشون و تو دیتابیس ذخیره کنم. چیکار باید بکنم؟
Alfred188
سه شنبه 03 آبان 1390, 18:43 عصر
درود،
خوب حالا چرا حتما اديتور بايد استفاده كني؟
خوب يه سوال با جوابه، راحت تر نيستي كه از textbox استفاده كني؟!
تا اونجا كه مي دونم اديتوري مثل ckeditor بايد تو pageload فراخوني بشه و يه سري كارا روش انجام بشه!
بعضي اديتور ها هم هستن كه اين قابليتي كه شما مي گيد رو دارن ولي معمولا سنگين هستن و احتمالا حجم سايتتون رو افزايش مي دن!
اگه نظر من رو مي خواي از همين textbox و ajax استفاده كن!
majid784
چهارشنبه 04 آبان 1390, 10:11 صبح
خوب حالا چرا حتما اديتور بايد استفاده كني؟
خوب يه سوال با جوابه، راحت تر نيستي كه از textbox استفاده كني؟!
آخه سوالها و حتی جوابها الزاما متنی نیست. میتونه حتی عکس هم توش باشه و باید rich editor باشه که کاربر فونت و ... دلخواه خودش رو انتخاب کنه. بنابراین حتما باید از ادیتور استفاده کنم.
asif1358
چهارشنبه 04 آبان 1390, 10:41 صبح
سلام
معمولا ادیتورها بین یک TextArea و یک IFrame سویچ می کنند؛ بدین معنی که کدهای html در document مربوطه به IFrame ایجاد میشند اما وقتی میخواهند متن را بازیابی کنند (مثلا برای درج در دیتابیس)، ابتدا کدهای html آن IFrame را (توسط همان myIFrame.document.body.innerHTML ) در TextArea می ریزند. (کدهای جاوااسکریپت ادیتورها ر انگاه کن). با این روش میتونید کدهای اچ تی ام ال را در Cache یا فایل یا هرجایی که خواستید ذخیره کنید
Alfred188
چهارشنبه 04 آبان 1390, 12:15 عصر
کاری که می خوای انجام بدی یکم سخته!
این روش رو تست کن. برای طرح سوال و جواب کاربر رو به یه صفحه بفرست بعد texteditor هات رو اونجا بذار و id کاربری و id سوال براش تعریف کن و دونه دونه سوال و جواب ها رو وارد دیتابیس کن!
مثلا table تو دیتابیس رو به این صورت طراحی کن:
ID-userID-questionID-questionNumber-question-answer1-answer2
userID: ای دی کاربری
questionID: ای دی سری سوال
questionNumber: شماره سوال تو سری سوال
بقیه هم معلومه.
یه فکری رو این بکن امیدوارم کارت راه بیوفته
موفق باشی
majid784
چهارشنبه 04 آبان 1390, 15:42 عصر
مرسی دوستان، حل شد. هر بار که قراره ادیتور جدید اضافه بشه محتوای هر کدوم از ادیتورهای قبلی رو توی Cache ذخیره میکنم و وقتی میخوام محتوای ادیتورهای قبلی رو برگردونم دوباره از cache میخونم (:
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.