صفحه 1 از 2 12 آخرآخر
نمایش نتایج 1 تا 40 از 72

نام تاپیک: راه اندازی و استفاده از CKEditor با استفاده از jQuery و AJAX

  1. #1
    کاربر دائمی
    تاریخ عضویت
    آبان 1385
    محل زندگی
    تهران
    پست
    1,112

    راه اندازی و استفاده از CKEditor با استفاده از jQuery و AJAX

    در این مقاله چگونگی راه اندازی و استفاده از CKEditor با استفاده از jQuery و Ajax بیان می شود.
    مرحله اول:
    ابتدا آخرین نسخه CKEditor را از آدرس زیر دانلود کنید
    همچنین برای استفاده از این مقاله شما نیاز به دانلود کتابخانه jQuery از آدرس زیر خواهید داشت:

    مرحله دوم:
    برای استفاده از CKEditor باید فایل های مورد نیاز این ادیتور را در پوشه وب سایت کپی کنید.ابتدا فولدری به نام CKEditor در وب سایت خود ایجاد کنید و بعد از باز کردن فایل دانلود شده، فولدر ها و فایل های زیر را در پوشه CKEditor (پوشه ایجاد شده در وب سایت) اضافه کنید:
    \Adapters
    \ images
    \lang
    \plugins
    \skins
    \themes
    Ckeditor.js
    Ckeditor.pack
    ckeditor_basic.js
    ckeditor_basic_source.js
    ckeditor_source.js
    config.js
    contents.css
    همچنین شما باید فایل jQuery را در سایت کپی کنید. فرض می کنیم این فایل را در فولدر js قرار می دهید.

    مرحله سوم:
    لینک های لازم را به فایل های js و css در صفحه ای که Editor در آن قرار دارد اضافه کنید

    <script src="js/jquery-1.4.2.min.js" type="text/javascript"></script>
    <script src="ckeditor/ckeditor.js" type="text/javascript"></script>
    <script src="ckeditor/adapters/jquery.js" type="text/javascript"></script>
    <link href="ckeditor/contents.css" rel="stylesheet" type="text/css" />


    مرحله چهارم:
    یک textarea (یکی از کنترل های html) به صفحه خود اضافه کنید. این کنترل تبدیل به Editor خواهد شد.
    <textarea id="Editor"   name="Editor"   ></textarea>
    دقت کنید که در این مثال id برای textarea برابر Editor انتخاب شده است. شما در انتخاب id آزاد هستید.

    مرحله پنجم:
    اکنون فایل های مورد نیاز را کپی کرده اید و رفرنس ها و کنترل های لازم به وب سایت و صفحه اضافه شده است. برای تبدیل textarea به ادیتور از دستور زیر استفاده کنید. این دستور را در یک بلوک <script> قرار دهید. این اسکریپت می تواند ترجیحا در فایل اسکریپت های صفحه یا در انتهای صفحه (قبل از </body> و اگر از master page استفاده می کنید قبل از </asp:Content>در صفحه) قرار گیرد.

    <script>
    $(document).ready(function() {
    $('#Editor').ckeditor();
    });
    </script>
    دستور ckeditor
    متد ckeditor که در بالا استفاده شد، می تواند با دو پارامتر استفاده شود:

    • یک callback function که بعد از آماده شدن ادیتور اجرا می شود
    • مجموعه ای از option ها برای پیکربندی ادیتور

    در ادامه درباره این پارامتر ها با مثال توضیحات بیشتری داده می شود.

    پیکربندی (Configuration)
    شما می توانید تنظیمات دلخواه را به CKEditor اعمال کنید. این تنظیمات می تواند شامل skin، آیتم ها و دکمه های toolbar، زبان، direction، height، فونت های ادیتور، default font و ... باشد. لیست کامل این تنظمیات را می توانید در این لینک مشاهده کنید.
    برای اعمال مجموعه تنظیمات می توانید هم از دستور ckeditor استفاده کنید و هم از فایل config.js در پوشه CKEditor.
    مثال برای استفاده از فایل config.js:

    CKEDITOR.editorConfig = function(config) {
    config.skin = 'v2';
    config.language = 'fa';
    };
    با اضافه کردن پارامتر های بالا در فایل config.js زبان ادیتور فارسی و پوسته ادیتور، پوسته v2 می شود.
    وقتی شما ادیتور را با استفاده از config.js پیکربندی می کنید، هنگام load شدن صفحه، این فایل نیز به مرورگر ارسال می شود. برای کاهش زمان درخواست و ارسال این فایل (و به توصیه سازندگان) بهتر است تنظیمات ادیتور با استفاده از متد ckeditor انجام شود.
    مثال:

    $(document).ready(function() {
    $('#Editor').ckeditor({ customConfig: '',language: 'fa', skin: 'v2' });
    });
    هر پارامتر دیگری را نیز به شیوه بالا می توان در این دستور استفاده کرد. پارامتر ها در {} قرار می گیرند و با , از هم جدا می شوند. مثل
    height:'200px'

    با استفاده از
    costumeConfig:''

    از load شدن config.js جلوگیری می شود.

    callback function:
    همانطور که ذکر شد، این تابع بعد از آماده شدن ادیتور اجرا می شود.
    مثال:
    $('#Editor').ckeditor(function() { alert ('Editor is ready'); },{skin:'v2'})
    همانطور که مشاهده می کنید در مثال بالا در متد ckeditor از هر دو پارامتر callback function و configuration settings استفاده شده است.


    نکات بیشتر درباره پیکر بندی:
    یکی از مسائلی که در رابطه با ادیتورها وجود دارد، نمایش و عدم نمایش دکمه های toolbar است. در CKEditor به سادگی می توانید دکمه های دلخواه خود را نمایش دهید. مثال زیر ادیتوری با تمام دکمه های toolbar را نمایش می دهد:

    $('#Editor').ckeditor({ customConfig: '',
    toolbar:[
    ['Source', '-', 'Save', 'NewPage', 'Preview', '-', 'Templates'],
    ['Cut', 'Copy', 'Paste', 'PasteText', 'PasteFromWord', '-', 'Print', 'SpellChecker', 'Scayt'],
    ['Undo', 'Redo', '-', 'Find', 'Replace', '-', 'SelectAll', 'RemoveFormat'],
    ['Form', 'Checkbox', 'Radio', 'TextField', 'Textarea', 'Select', 'Button', 'ImageButton', 'HiddenField'],
    '/',
    ['Bold', 'Italic', 'Underline', 'Strike', '-', 'Subscript', 'Superscript'],
    ['NumberedList', 'BulletedList', '-', 'Outdent', 'Indent', 'Blockquote', 'CreateDiv'],
    ['JustifyLeft', 'JustifyCenter', 'JustifyRight', 'JustifyBlock'],
    ['Link', 'Unlink', 'Anchor'],
    ['Image', 'Flash', 'Table', 'HorizontalRule', 'Smiley', 'SpecialChar', 'PageBreak'],
    '/',
    ['Styles', 'Format', 'Font', 'FontSize'],
    ['TextColor', 'BGColor'],
    ['Maximize', 'ShowBlocks', '-', 'About']

    ]
    });
    به دسته بندی آیتم های toolbar با استفاده از [] و همچنین '/' دقت کنید.
    در مثال زیر ادیتور با آیتم های انتخابی نمایش داده می شود:

    $('#Editor').ckeditor({ customConfig: '',
    toolbar:[
    ['Bold', 'Italic', '-', 'NumberedList', 'BulletedList', '-', 'Link', 'Unlink', '-', 'About']
    ]
    });
    });
    اگر از پارامتر toolbar استفاده نکنید، ادیتور با toolbar کامل نمایش داده می شود.
    در مثال زیر ادیتور با مشخصات زیر نمایش داده می شود:

    • امکان resize شدن ندارد
    • جهت متن rtl است
    • فونت پیش فرض Tahoma است
    • زبان پیش فرض فارسی است
    • دارای فونت های Tahoma و B Nazanin است
    • دارای پوسته office2003 است


    $('#Editor').ckeditor({ customConfig: '',
    font_names: 'Tahoma;'+'B Nazanin;',
    language: 'fa',
    skin: 'office2003',
    resize_enabled: false,
    contentsLangDirection: 'rtl',
    font_defaultLabel: 'Tahoma'

    });
    });

    پوسته هایی که می توانید برای ادیتور استفاده کنید در فولدر skins قرار دارند.



    در قسمت بعد به ارسال متن ادیتور به سرور می پردازیم.

    آخرین ویرایش به وسیله Vahid_moghaddam : سه شنبه 18 خرداد 1389 در 14:33 عصر

  2. #2
    کاربر دائمی
    تاریخ عضویت
    آبان 1385
    محل زندگی
    تهران
    پست
    1,112

    ارسال و دریافت محتویات Editor

    ساده ترین روش برای ارسال و دریافت متن editor اضافه کردن runat=server به textarea است.
    مثال:

    <textarea id="Editor" runat="server" name="Editor" ></textarea>

    تعیین متن ادیتور:

    Editor.InnerHtml =YourText;


    خواندن متن:

    string EditorText=Editor.InnerHtml ;


    برای استفاده از این روش خاصیت ValidateRequest صفحه شامل Editor باید false باشد. این خاصیت را می توانید در دایرکتیو Page تنظیم کنید.

    استفاده از Ajax و jQuery برای ارسال متن:
    در این روش ابتدا باید متن Editor را با استفاده از Selector های jQuery خوانده سپس با استفاده از Ajax این متن را به سرور ارسال کنیم.
    ابتدا یک دکمه به صفحه اضافه می کنیم:

    <textarea id="Editor" name="Editor" ></textarea>
    <input id="Send" type="button" value="button" onclick="SendEditorContent();" />


    تابع SendEditorContent عمل ارسال متن را انجام می دهد.
    برای پردازش درخواست فرستاده شده از سمت کلاینت می توانیم از روش های مختلفی استفاده کنیم. مثل ajax Webservice ها و یا PageMethod ها. در این مقاله از PageMethod استفاده می شود. ابتدا لازم است تا mehtod پردازش را در سمت Server ایجاد کنیم. برای استفاده از page method ها نیاز به کتابخانه System.Web.Services داریم:
    using System.Web.Services;


    یک PageMethod باید به صورت static تعریف شود. برای اطلاعات بیشتر به این لینک مراجعه کنید.


    [WebMethod]
    public static void GetEditorContent(string content)
    {
    //Your Code Here
    }

    متد GetEditorContent عمل دریافت و پردازش متن (مانند ذخیره در دیتابیس) را انجام می دهد. بر می گردیم به تکمیل تابع SendEditorContent در سمت کلاینت.
    jQuery دارای Selector های متنوع و کاملی می باشد که با استفاده از آنها می توان به عناصر صفحه دسترسی پیدا کرد. در اینجا ما از id Selector استفاده می کنیم.


    var content = $('#Editor').val();

    با استفاده از کد بالا، محتویات Editor در متغیر content ریخته می شود. اکنون با استفاده از تابع ajax در jQuery این مقدار را به سمت سرور می فرستیم.


    $.ajax({

    type: "POST",
    url: "Default.aspx/GetEditorContent",
    data: "{ 'content':'" + content + "' }",
    contentType: "application/json; charset=utf-8",
    dataType: "json",
    success: function(msg) {
    alert("Sent");
    },
    error: function(msg) {
    alert("Error");
    }

    });

    بحث درباره تابع ajax مربوط به این مقاله نمی باشد. فقط ذکر چند نکته لازم است.
    با استفاده از پارامتر url آدرس تابع server side را تعیین می کنیم. ابتدا نام صفحه ای که شامل متد است (در صورت استفاده از WebService، نام وب سرویس ) , سپس نام متد. از / برای جدا کردن نام صفحه و نام متد استفاده می کنیم.
    از پارامتر data برای مقدار دهی به پارامتر های تابع server side استفاده می شود. شکل استفاده از این پارامتر به صورت زیر است:


    data: "{ 'param1:'value1', 'param2':'value2',..... }"

    حتما فرمت نمایش داده شده رعایت شود. نام پارامتر و مقدار پارامتر در '' قرار می گیرد و این دو با : از هم جدا می شوند.
    نکته: اگر تابع server side پارامتر ورودی نداشت به شکل زیر از data استفاده می کنیم:
    data:"{ }"

    در دستور استفاده شده بالا از دو callback function استفاده شده است:

    • success: در صورت موفقیت آمیز بودن عمل ارسال این تابع اجرا می شود
    • error: در صورت رخ دادن خطا این تابع اجرا می شود.

    تابع ارسال محتویات Editor آماده استفاده است. کد کامل تابع SendEditorContent:

    function SendEditorContent() {
    var content = $('#Editor').val();
    $.ajax({

    type: "POST",
    url: "Default.aspx/GetEditorContent",
    data: "{ 'content':'" + content + "' }",
    contentType: "application/json; charset=utf-8",
    dataType: "json",
    success: function(msg) {
    alert("Sent");
    },
    error: function(msg) {
    alert("Error");
    }

    });
    }


    در متد GetEditorContent کد های لازم جهت ذخیره متن ارسال شده را بنویسید.
    برای مقدار دهی به Editor می توانید به همین شیوه عمل کنید. ابتدا یک page method تعریف کنید که محتویات ادیتور را از دیتابیس دریافت کند. سپس یک تابع Client Side بنویسید که با استفاده از متد ajax در خواستی به این page method بفرستد و مقدار ادیتور را بگیرد. سپس مقدار خوانده شده را در ادیتور نمایش دهید. مثال:

    تابع Server Side:

    [WebMethod]
    public static string SendEditorContent()
    {

    return "Your Editor Text";
    }


    تابع Client Side:

    function GetEditorContent() {
    $.ajax({

    type: "POST",
    url: "Default.aspx/SendEditorContent",
    data: "{ }",
    contentType: "application/json; charset=utf-8",
    dataType: "json",
    success: function(msg) {
    $('#Editor').val(msg.d);
    },
    error: function(msg) {
    alert("Error");
    }

    });
    }

    تابع Client Side را در زمان مناسب اجرا کنید. در مثال زیر این تابع بعد از load شدن صفحه اجرا می شود:
    $(document).ready(function() {
    $('#Editor').ckeditor({ customConfig: '',
    font_names: 'Tahoma;'+'B Nazanin;',
    language: 'en',
    skin: 'office2003',
    resize_enabled: false,
    contentsLangDirection: 'rtl',
    font_defaultLabel: 'Tahoma'

    });
    GetEditorContent();
    });


    در قسمت بعد روش استفاده از CKFinder برای ارسال فایل به سرور و اتصال آن به CKEditor بیان می شود.
    آخرین ویرایش به وسیله Vahid_moghaddam : سه شنبه 11 خرداد 1389 در 10:47 صبح

  3. #3
    کاربر دائمی
    تاریخ عضویت
    آبان 1385
    محل زندگی
    تهران
    پست
    1,112

    استفاده از CKFinder همراه CKEditor

    ابتدا CKFinder را از آدرس زیر دانلود کنید (نسخه asp.net):

    http://ckfinder.com/download

    پوشه CKFinder را در وب سایت خود کپی کنید. فرض می کنیم این پوشه در ریشه وب سایت و با نام CKFinder کپی شده است.
    اسکریپت ckfinder.js را به صفحه اضافه کنید:


    <
    scriptsrc="CKFinder/ckfinder.js"type="text/javascript"></script>


    دستور Bold شده در کد زیر را بعد از آماده سازی CKEditor برای Setup کردن CKfinder اضافه کنید:


    $(document).ready(function() {
    $(
    '#Editor').ckeditor({ customConfig: '',
    font_names:
    'Tahoma;'+'B Nazanin;',
    language:
    'en',
    skin:
    'office2003',
    resize_enabled:
    false,
    contentsLangDirection:
    'rtl',
    font_defaultLabel:
    'Tahoma'
    });
    CKFinder.SetupCKEditor(
    null, 'ckfinder/');


    });


    اکنون شما می توانید از CKFinder استفاده کنید. اگر روی دکمه اضافه کردن تصویر در نوار ابزار Editor کلیک کنید، گزینه ای با نام Browse Server یا فهرست نمایی سرور به Dialog Box اضافه شده است.
    قبل از ارسال فایل به سرور نیاز داریم تا مسیر فایل های upload شده (مسیری که CKFinder به آن مراجعه می کند) و همچنین تنظیمات امنیتی را تعیین کنیم. تنظیمات امنیتی به این دلیل استفاده می شود تا مطمئن باشید کاربری به سرور دسترسی دارد که مجاز باشد.

    تعیین حق دسترسی کاربر:
    در پوشه CKFinder فایلی به نام config.ascx وجود دارد. در این فایل متدی با نام
    CheckAuthentication
    موجود است. اگر مقدار بازگشتی از این متد true باشد، کاربر امکان ارسال فایل و Browse را خواهد داشت. در این متد شما می توانید کاربر را احراز هویت کنید. به عنوان مثال:


    if (HttpContext.Current.User.IsInRole("Admin"))
    return true;
    else
    return false;


    در مثال بالا اگر کاربر دارای نقش Admin باشد، مجاز به ارسال فایل می باشد.

    تعیین مسیر فایل ها:
    این تنظیم با استفاده از فایل config.ascx و متد SetConfig انجام می شود. فرض کنید شما در ریشه وب سایت پوشه ای با نام Upload ایجاد کرده اید که قرار است فایل های Upload شده در آن قرار گیرند. متغیر های BaseUrl و BaseDir را در متد SetConfig به صورت زیر مقدار دهی کنید:


    public override void SetConfig()
    {
    .
    .
    .
    BaseUrl = "~/Upload/";
    BaseDir = "";
    .
    .
    .
    }
    [SIZE=2][/SIZE]


    نکته: CKFinder در پوشه ای که به عنوان مسیر ذخیره و بازیابی فایل ها در نظر گرفته شده است، برای هر دسته فایل از فولدرهای خاصی استفاده می کند. به عنوان مثال تصاویر را در پوشه images ذخیره می کند. اگر این فولدر در مسیر تعیین نشده وجود نداشته باشد، آن را ایجاد خواهد کرد. این مساله در آدرس دهی فایل ها سودمند است.


  4. #4

    نقل قول: راه اندازی و استفاده از CKEditor با استفاده از jQuery و AJAX

    بسیار عالی هرچند من tiny ترجیح می دم

  5. #5
    کاربر دائمی
    تاریخ عضویت
    آبان 1385
    محل زندگی
    تهران
    پست
    1,112

    نقل قول: راه اندازی و استفاده از CKEditor با استفاده از jQuery و AJAX

    نقل قول نوشته شده توسط iman_ad مشاهده تاپیک
    بسیار عالی هرچند من tiny ترجیح می دم
    من یه بار tiny رو امتحان کردم.مشکلی که برام پیش اومد این بود که توی fire fox ادیتور نمایش داده نمی شد. شما با این مشکل روبرو نشدید؟ البته احتمالا من چیزیو جا انداختم تو نصبش.

  6. #6

    نقل قول: راه اندازی و استفاده از CKEditor با استفاده از jQuery و AJAX

    نه دوست عزیز مشکلی نداره کلا ادیتور خوش دستی البته فایل منیجرش پولی که من یکم دستکاریش کردم و از تلریک دارم استفاده می کنم

  7. #7

    نقل قول: راه اندازی و استفاده از CKEditor با استفاده از jQuery و AJAX


    <script>
    $(document).ready(function() {
    $('#Editor').ckeditor();
    });
    </script>

    این کد را خطا میگیره

  8. #8
    کاربر دائمی
    تاریخ عضویت
    آبان 1385
    محل زندگی
    تهران
    پست
    1,112

    نقل قول: راه اندازی و استفاده از CKEditor با استفاده از jQuery و AJAX

    اگر فایل های لازم رو کپی کردید، چک کنید آدرس دهی اونها صحیح باشه.
    لطفا کد html صفحه رو بذارید.

  9. #9

    نقل قول: راه اندازی و استفاده از CKEditor با استفاده از jQuery و AJAX


    <%@ Page Language="VB" AutoEventWireup="false" CodeFile="Default.aspx.vb" Inherits="_Default" %>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head runat="server">
    <title></title>
    <script src="js/jquery-1.3.1.min.js" type="text/javascript"></script>
    <script src="ckeditor.js" type="text/javascript"></script>
    <script src="adapters/jquery.js" type="text/javascript"></script>
    <link href="contents.css" rel="stylesheet" type="text/css" />

    </head>
    <body>

    <div>
    <textarea id="Editor" name="Editor" ></textarea>
    </div>

    <script>
    $(document).ready(function() {
    $('#Editor').ckeditor();
    });
    </script>
    </body>
    </html>

    همه اون فایل ها رو دا خل پوشه قرار دارم

  10. #10

    نقل قول: راه اندازی و استفاده از CKEditor با استفاده از jQuery و AJAX

    این خطا
    عکس های ضمیمه عکس های ضمیمه
    • نوع فایل: gif E.gif‏ (10.9 کیلوبایت, 3560 دیدار)

  11. #11
    کاربر دائمی
    تاریخ عضویت
    آبان 1385
    محل زندگی
    تهران
    پست
    1,112

    نقل قول: راه اندازی و استفاده از CKEditor با استفاده از jQuery و AJAX

    مسیر کامل فایل jquery-1.3.1.min.js در هارد شما چیه؟ این خطا معمولا به خاطر نشناختن jQuery بوجود میاد.

  12. #12

    نقل قول: راه اندازی و استفاده از CKEditor با استفاده از jQuery و AJAX

    دقیقا مشکل همین نسخه جدید اسم فایل به این تغییر کرده jquery-1.4.2.min.js
    در حالی که توی کد نومنه 1.3.1 نوشته شده

    مرسی

  13. #13
    کاربر دائمی
    تاریخ عضویت
    آبان 1385
    محل زندگی
    تهران
    پست
    1,112

    نقل قول: راه اندازی و استفاده از CKEditor با استفاده از jQuery و AJAX

    دو skin برای CKeditor. برای استفاده از این skin ها ابتدا فولدر های classic و black رو توی مسیر زیر کپی کنید:

    ..\CKEditor_Folder\skins


    و سپس نام اونها رو (classic یا black) به پارامتر skin که در قسمت اول روش استفاده از اون توضیح داده شده، پاس بدید.
    فایل های ضمیمه فایل های ضمیمه

  14. #14
    کاربر دائمی آواتار afsaneh.asp
    تاریخ عضویت
    فروردین 1388
    محل زندگی
    يزد
    پست
    113

    نقل قول: راه اندازی و استفاده از CKEditor با استفاده از jQuery و AJAX

    سلام
    لينكي كه براي دانلود کتابخانه jQuery گذاشتين،نتيجه اي نداره.در همينجا ميشه فايلش رو گذاشت يا جاي ديگه اي كه قابل دانلود باشه؟

  15. #15
    کاربر دائمی
    تاریخ عضویت
    آبان 1385
    محل زندگی
    تهران
    پست
    1,112

    نقل قول: راه اندازی و استفاده از CKEditor با استفاده از jQuery و AJAX

    نقل قول نوشته شده توسط afsaneh.asp مشاهده تاپیک
    سلام
    لينكي كه براي دانلود کتابخانه jQuery گذاشتين،نتيجه اي نداره.در همينجا ميشه فايلش رو گذاشت يا جاي ديگه اي كه قابل دانلود باشه؟
    نسخه 1.4.2 رو ضمیمه کردم.
    فایل های ضمیمه فایل های ضمیمه

  16. #16
    کاربر دائمی آواتار afsaneh.asp
    تاریخ عضویت
    فروردین 1388
    محل زندگی
    يزد
    پست
    113

    نقل قول: راه اندازی و استفاده از CKEditor با استفاده از jQuery و AJAX

    بابت آپلود دوباره ممنون.
    من دقيقا عين مراحلي كه گفتين رو انجام دادم ولي نميشه. در مورد textarea فقط كافيه id="editor" قرار بديم؟
    فقط textarea رو نشون ميده
    چيكار كنم؟

  17. #17
    کاربر دائمی
    تاریخ عضویت
    آبان 1385
    محل زندگی
    تهران
    پست
    1,112

    نقل قول: راه اندازی و استفاده از CKEditor با استفاده از jQuery و AJAX

    id می تونه هر اسمی باشه. در دستور زیر id کنترل رو به جای Editor بذارید.

     <script>
    $(document).ready(function() {
    $('#Editor').ckeditor();
    });
    </script>
    آدرس ها درسته؟ کد صفحه aspx رو بذارید. و اگه می تونید پروژه رو ضمیمه کنید.

  18. #18
    کاربر دائمی آواتار nafasak
    تاریخ عضویت
    بهمن 1386
    محل زندگی
    وب
    پست
    151

    Exclamation راه اندازی و استفاده از CKEditor با استفاده از jQuery و AJAX

    نقل قول نوشته شده توسط Vahid_moghaddam مشاهده تاپیک
    id می تونه هر اسمی باشه. در دستور زیر id کنترل رو به جای Editor بذارید.

     <script>
    $(document).ready(function() {
    $('#Editor').ckeditor();
    });
    </script>
    آدرس ها درسته؟ کد صفحه aspx رو بذارید. و اگه می تونید پروژه رو ضمیمه کنید.
    سلام،
    من از MasterPage استفاده میکنم،
    کد بالا رو قبل از content به شکل زیر میزارم ولی خطا میده:

    <script>

    $(document).ready(
    function() {
    $(
    '#MyEditor').ckeditor();
    });
    </script>

    </asp:Content>

  19. #19
    کاربر دائمی
    تاریخ عضویت
    آبان 1385
    محل زندگی
    تهران
    پست
    1,112

    نقل قول: راه اندازی و استفاده از CKEditor با استفاده از jQuery و AJAX

    نقل قول نوشته شده توسط nafasak مشاهده تاپیک
    سلام،
    من از MasterPage استفاده میکنم،
    کد بالا رو قبل از content به شکل زیر میزارم ولی خطا میده:

    <script>

    $(document).ready(
    function() {
    $(
    '#MyEditor').ckeditor();
    });
    </script>

    </asp:Content>
    با فرض اینکه فایل ها به صورت کامل کپی شده باشند، معمولا این خطا ها بوجود میاد:
    1. شما پیغام خطا دریافت نمی کنید اما ادیتور هم نمایش داده نمی شه و فقط textbox رو می بینید. دلیل این مشکل اینه که selector کنترل مورد نظر رو برای تبدیل به ادیتور پیدا نمی کنه. Selector استفاده شده یعنی
    $('#Editor')

    دنبال کنترلی می گرده که id اون برابر Editor باشه. یا در تایپ این Id اشتباه صورت گرفته و یا کنترل شما خاصیت runat=server داره. در این حالت ممکنه id و clientid به خاطر قرار گرفتن در gridview و کنترل های مشابه و یا قرار گرفتن صفحه حاوی Editor در MasterPage متفاوت باشند. شما باید از ClientID استفاده کنید.
    مثال:
    $('#<%=MyPanel.ClientID%>').ckeditor();


    2. شما پیغام خطای زیر رو دریافت می کنید:
    'CKEDITOR' is undefined

    این خطا زمانی بوجود میاد که فایل های js مربوط به ckeditor درست آدرس دهی نشده باشند. در آدرس دهی به آدرس دهی نسبی دقت کنید.

    3.شما پیغام خطای زیر رو دریافت می کنید.
    Object expected

    این پیغام زمانی بوجود میاد که مرورگر jquery رو نمی شناسه. در واقع فایل کتابخانه jquery درست آدرس دهی نشده یا در آدرس تعیین شده وجود نداره. در اینجا هم به آدرس دهی نسبی دقت کنید.

    در مجموع راه اندازی این ادیتور مثل نسخه قدیمی ترش (اما هنوز خوب و مناسبش) FCKEditor کار دشواری نیست و بیشتر خطاها به دلیل id نادرست و یا آدرس دهی نادرست و یا کپی نشدن کامل فایل ها بوجود میاد

  20. #20

    نقل قول: راه اندازی و استفاده از CKEditor با استفاده از jQuery و AJAX

    سلام
    من ميخوام تو پروژه asp.netام كه با vs2005 نوشتم يه اديتور ساده داشته باشم. نه از اجاكس استفاده كردم نه جي كوئري. ميشه طبق اولين پست از ckeditor استفاده كنم؟

  21. #21
    کاربر دائمی آواتار afsaneh.asp
    تاریخ عضویت
    فروردین 1388
    محل زندگی
    يزد
    پست
    113

    نقل قول: راه اندازی و استفاده از CKEditor با استفاده از jQuery و AJAX

    نقل قول نوشته شده توسط Vahid_moghaddam مشاهده تاپیک
    id می تونه هر اسمی باشه. در دستور زیر id کنترل رو به جای Editor بذارید.

     <script>
    $(document).ready(function() {
    $('#Editor').ckeditor();
    });
    </script>
    آدرس ها درسته؟ کد صفحه aspx رو بذارید. و اگه می تونید پروژه رو ضمیمه کنید.
    بله همه چيز درست بود.من runat="server " رو از تك تكس اريا برداشتم درست شد و كار كرد.حالا سوالم اينه كه چطور از متن اديتور براي گرفتن يا ارسال بهش استفاده كنم؟

  22. #22
    کاربر دائمی
    تاریخ عضویت
    آبان 1385
    محل زندگی
    تهران
    پست
    1,112

    نقل قول: راه اندازی و استفاده از CKEditor با استفاده از jQuery و AJAX

    نقل قول نوشته شده توسط ghasedak123 مشاهده تاپیک
    سلام
    من ميخوام تو پروژه ASP.NETام كه با vs2005 نوشتم يه اديتور ساده داشته باشم. نه از اجاكس استفاده كردم نه جي كوئري. ميشه طبق اولين پست از ckeditor استفاده كنم؟
    شما اگه نمی خواید از jQuery استفاده کنید، می تونید بعد از اضافه کردن لینک های لازم (به جز لینک به jQuery)، به شکل زیر از Editor استفاده کنید:

    تبدیل TextArea به Editor:

    <script>
    CKEDITOR.replace('Editor',
    {
    fullPage: true,
    skin: 'office2003'
    });
    </script>


    از سایر پارامترهای گفته شده می تونید در این دستور استفاده کنید.

    ساده ترین راه هم برای دسترسی به مقدار Editor در سمت سرور، اضافه کردن runat=server به TextArea است.

  23. #23

    نقل قول: راه اندازی و استفاده از CKEditor با استفاده از jQuery و AJAX

    نقل قول نوشته شده توسط Vahid_moghaddam مشاهده تاپیک
    شما اگه نمی خواید از jQuery استفاده کنید، می تونید بعد از اضافه کردن لینک های لازم (به جز لینک به jQuery)، به شکل زیر از Editor استفاده کنید:

    تبدیل TextArea به Editor:

    <script>
    CKEDITOR.replace('Editor',
    {
    fullPage: true,
    skin: 'office2003'
    });
    </script>



    از سایر پارامترهای گفته شده می تونید در این دستور استفاده کنید.

    ساده ترین راه هم برای دسترسی به مقدار Editor در سمت سرور، اضافه کردن runat=server به TextArea است.
    runat=server رو بزارم كه كار نميكنه كه

  24. #24
    کاربر دائمی
    تاریخ عضویت
    آبان 1385
    محل زندگی
    تهران
    پست
    1,112

    نقل قول: راه اندازی و استفاده از CKEditor با استفاده از jQuery و AJAX

    نقل قول نوشته شده توسط ghasedak123 مشاهده تاپیک
    runat=server رو بزارم كه كار نميكنه كه
    چرا کار نکنه؟ اگه editor توی master page یا چیزی شبیه به اینه، شما باید از ClientID استفاده کنید. کد صفحه aspx رو در صورت برطرف نشدن مشکل بذارید.


    <script>

    CKEDITOR.replace('<%=Editor.ClientID %>',
    {
    fullPage: true,
    skin: 'office2003'
    });
    </script>

  25. #25
    کاربر دائمی آواتار afsaneh.asp
    تاریخ عضویت
    فروردین 1388
    محل زندگی
    يزد
    پست
    113

    نقل قول: راه اندازی و استفاده از CKEditor با استفاده از jQuery و AJAX

    سلام صبح بخير
    بازم منم...نزنيا
    من متن اديتور رو تو ديتابيسم ذخيره ميكنم و بعد اينها با يه ديتا ليست نشون داده ميشن.
    مشكل اينجاست كه متن اديتور با تگهاي html در ديتابيس ذخيره ميشه و همونجور نشون داده ميشن.مثلا يه خط نوشته باشيم اون خط رو داخل تگ<p> ميزاره.
    راهي هست كه اين تگ و علائم نشون داده نشن؟

  26. #26
    کاربر دائمی
    تاریخ عضویت
    آبان 1385
    محل زندگی
    تهران
    پست
    1,112

    نقل قول: راه اندازی و استفاده از CKEditor با استفاده از jQuery و AJAX

    نقل قول نوشته شده توسط afsaneh.asp مشاهده تاپیک
    سلام صبح بخير
    بازم منم...نزنيا
    من متن اديتور رو تو ديتابيسم ذخيره ميكنم و بعد اينها با يه ديتا ليست نشون داده ميشن.
    مشكل اينجاست كه متن اديتور با تگهاي html در ديتابيس ذخيره ميشه و همونجور نشون داده ميشن.مثلا يه خط نوشته باشيم اون خط رو داخل تگ<p> ميزاره.
    راهي هست كه اين تگ و علائم نشون داده نشن؟
    می تونید متن رو برای این تگ ها فیلتر کنید اما جالب نیست. راه بهتر استفاده از کنترل Literal هست. توی datalist یه template درست کنید و توش یه literal بذارید و متن رو در اون نمایش بدید.

  27. #27
    کاربر دائمی آواتار afsaneh.asp
    تاریخ عضویت
    فروردین 1388
    محل زندگی
    يزد
    پست
    113

    نقل قول: راه اندازی و استفاده از CKEditor با استفاده از jQuery و AJAX

    نقل قول نوشته شده توسط Vahid_moghaddam مشاهده تاپیک
    می تونید متن رو برای این تگ ها فیلتر کنید اما جالب نیست. راه بهتر استفاده از کنترل Literal هست. توی datalist یه template درست کنید و توش یه literal بذارید و متن رو در اون نمایش بدید.
    اينكارو كردم ولي تو literalهم مثل ليبل.فرقي نميكنه

  28. #28
    کاربر دائمی
    تاریخ عضویت
    آبان 1385
    محل زندگی
    تهران
    پست
    1,112

    نقل قول: راه اندازی و استفاده از CKEditor با استفاده از jQuery و AJAX

    نقل قول نوشته شده توسط afsaneh.asp مشاهده تاپیک
    اينكارو كردم ولي تو literalهم مثل ليبل.فرقي نميكنه
    اگه خاصیت Mode برابر Transform باشه، درست نمایش داده می شه.

  29. #29
    کاربر دائمی آواتار afsaneh.asp
    تاریخ عضویت
    فروردین 1388
    محل زندگی
    يزد
    پست
    113

    نقل قول: راه اندازی و استفاده از CKEditor با استفاده از jQuery و AJAX

    نقل قول نوشته شده توسط Vahid_moghaddam مشاهده تاپیک
    اگه خاصیت Mode برابر Transform باشه، درست نمایش داده می شه.
    ممنون
    شما خودت امتحان كردي؟ واسه من كه نميشه

  30. #30
    کاربر دائمی
    تاریخ عضویت
    آبان 1385
    محل زندگی
    تهران
    پست
    1,112

    نقل قول: راه اندازی و استفاده از CKEditor با استفاده از jQuery و AJAX

    نقل قول نوشته شده توسط afsaneh.asp مشاهده تاپیک
    ممنون
    شما خودت امتحان كردي؟ واسه من كه نميشه
    آره.


    <asp:GridView ID="GridView2" runat="server" AutoGenerateColumns="False"
    DataSourceID="SqlDataSource2">
    <Columns>
    <asp:TemplateField>
    <ItemTemplate>
    <asp:Literal ID="Literal2" runat="server" Text='<%# Eval("Body") %>'></asp:Literal>
    </ItemTemplate>
    </asp:TemplateField>
    </Columns>
    </asp:GridView>

  31. #31
    کاربر دائمی آواتار afsaneh.asp
    تاریخ عضویت
    فروردین 1388
    محل زندگی
    يزد
    پست
    113

    نقل قول: راه اندازی و استفاده از CKEditor با استفاده از jQuery و AJAX

    سلام
    ممنون ولي براي من نميشه به همون صورت قبلي نشون ميده.به نظر شما چرا؟مشكل از چي ميتونه باشه؟

  32. #32
    کاربر دائمی
    تاریخ عضویت
    آبان 1385
    محل زندگی
    تهران
    پست
    1,112

    نقل قول: راه اندازی و استفاده از CKEditor با استفاده از jQuery و AJAX

    نقل قول نوشته شده توسط afsaneh.asp مشاهده تاپیک
    سلام
    ممنون ولي براي من نميشه به همون صورت قبلي نشون ميده.به نظر شما چرا؟مشكل از چي ميتونه باشه؟
    متنی رو که با اشکال نمایش داده می شه، در Editor وارد کنید. به صورت دستی نه. از دیتابیس بخونید و بریزید توی Editor. ببینید باز هم این مشکل وجود داره.

  33. #33
    کاربر دائمی آواتار afsaneh.asp
    تاریخ عضویت
    فروردین 1388
    محل زندگی
    يزد
    پست
    113

    نقل قول: راه اندازی و استفاده از CKEditor با استفاده از jQuery و AJAX

    نقل قول نوشته شده توسط Vahid_moghaddam مشاهده تاپیک
    متنی رو که با اشکال نمایش داده می شه، در Editor وارد کنید. به صورت دستی نه. از دیتابیس بخونید و بریزید توی Editor. ببینید باز هم این مشکل وجود داره.
    اين كارو كرده بودم، توي اديتور اين مشكل نيست . از گريد كه به اديتور ميارم درست نشون ميده بدون تگها.

  34. #34
    کاربر دائمی
    تاریخ عضویت
    آبان 1385
    محل زندگی
    تهران
    پست
    1,112

    نقل قول: راه اندازی و استفاده از CKEditor با استفاده از jQuery و AJAX

    وقتی متن رو خارج از گریدویو توی یک literal هم نمایش می دید، باز هم مشکل داره؟ یا این اشکال فقط توی گریدویو بوجود میاد؟

  35. #35
    کاربر دائمی
    تاریخ عضویت
    آبان 1385
    محل زندگی
    تهران
    پست
    1,112

    نقل قول: راه اندازی و استفاده از CKEditor با استفاده از jQuery و AJAX

    کد گریدویو رو بذارید

  36. #36
    کاربر دائمی آواتار afsaneh.asp
    تاریخ عضویت
    فروردین 1388
    محل زندگی
    يزد
    پست
    113

    نقل قول: راه اندازی و استفاده از CKEditor با استفاده از jQuery و AJAX

    نقل قول نوشته شده توسط Vahid_moghaddam مشاهده تاپیک
    وقتی متن رو خارج از گریدویو توی یک literal هم نمایش می دید، باز هم مشکل داره؟ یا این اشکال فقط توی گریدویو بوجود میاد؟
    بله. literalچه تو گريد باشه يا خارج اون، عين ليبل عمل ميكنه خود متن اديتور رو مياره.


    <asp:GridView ID="Gv" runat="server" AutoGenerateColumns="False"
    DataSourceID="SqlDataSource2">
    <Columns>
    <asp:TemplateField>
    <ItemTemplate>
    <asp:Literal ID="Literal1" Mode="Transform" runat="server" Text='<%# Eval("Note") %>'></asp:Literal>
    </ItemTemplate>
    </asp:TemplateField>
    </Columns>
    </asp:GridView>

  37. #37
    کاربر دائمی
    تاریخ عضویت
    آبان 1385
    محل زندگی
    تهران
    پست
    1,112

    نقل قول: راه اندازی و استفاده از CKEditor با استفاده از jQuery و AJAX

    به یه دلیلی داره html encoding رخ می ده. نمی دونم چرا. یه مقدار توی google هم گشتم اما چیز خاصی پیدا نکردم. اگه می تونید پروژه رو بدون db ضمیمه کنید.

  38. #38
    کاربر دائمی آواتار afsaneh.asp
    تاریخ عضویت
    فروردین 1388
    محل زندگی
    يزد
    پست
    113

    نقل قول: راه اندازی و استفاده از CKEditor با استفاده از jQuery و AJAX

    نقل قول نوشته شده توسط Vahid_moghaddam مشاهده تاپیک
    به یه دلیلی داره html encoding رخ می ده. نمی دونم چرا. یه مقدار توی google هم گشتم اما چیز خاصی پیدا نکردم. اگه می تونید پروژه رو بدون db ضمیمه کنید.
    مرسي وقت گذاشتين براي مشكلم.منم موندم چرا اينجوريه.متاسفانه به كدهام دسترسي ندارم(تو شركتي كه كار ميكنم ريموت به سرور برنامه نويسي وصل ميشيم و هيچگونه دسترسي به كدها نداريم و اجازه كپي يا هيچ چيز ديگه اي نيست).

    بازم ممنون.تشكر

  39. #39
    کاربر دائمی
    تاریخ عضویت
    آبان 1385
    محل زندگی
    تهران
    پست
    1,112

    نقل قول: راه اندازی و استفاده از CKEditor با استفاده از jQuery و AJAX

    این رو هم امتحان کنید. در رویداد RowDataBound:


    protected void Gv_RowDataBound(object sender, GridViewRowEventArgs e)
    {

    if (e.Row.RowType == DataControlRowType.DataRow)
    {

    Literal lit = (Literal)e.Row.FindControl("Literal1");
    lit.Text = Server.HtmlDecode(lit.Text);

    }

    }

  40. #40
    کاربر دائمی آواتار afsaneh.asp
    تاریخ عضویت
    فروردین 1388
    محل زندگی
    يزد
    پست
    113

    نقل قول: راه اندازی و استفاده از CKEditor با استفاده از jQuery و AJAX

    نقل قول نوشته شده توسط Vahid_moghaddam مشاهده تاپیک
    این رو هم امتحان کنید. در رویداد RowDataBound:


    protected void Gv_RowDataBound(object sender, GridViewRowEventArgs e)
    {

    if (e.Row.RowType == DataControlRowType.DataRow)
    {

    Literal lit = (Literal)e.Row.FindControl("Literal1");
    lit.Text = Server.HtmlDecode(lit.Text);

    }

    }
    ايول. همينه
    مرسي.واقعا ممنونم كمك بزرگي بود مرسي

صفحه 1 از 2 12 آخرآخر

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •