הוסטס - פורום אחסון האתרים הגדול בישראל

הוסטס - פורום אחסון האתרים הגדול בישראל (https://hosts.co.il/forums/index.php)
-   פורום תיכנות (https://hosts.co.il/forums/forumdisplay.php?f=14)
-   -   שינוי פרמטרים בטופס מסוג ajaxForm (https://hosts.co.il/forums/showthread.php?t=106012)

איציק ברבי 26-12-13 14:06

שינוי פרמטרים בטופס מסוג ajaxForm
 
אהלן,
אני מחפש דרך לשנות פרמטרים שהמחלקה ajaxForm שולחת את ה"PHP",
בדומה לטופס AJAX רגיל אפשר לשנות את הפרמטרים ככה:
קוד:

data: "name=yossi&lastname=bracha"
או פשוט
$("formElement").serialize();
עכשיו אני משתמש ב ajaxForm והוא מבצע אוטומטית את סריקת הפרמטרים,
עכשיו יש לי שמה תיבת טקסט בשם editor1 שתהפוך בהרצת הדף לעורך טקסט מסוג ckeditor.
והמחלקה CKEDITOR מונעת ממני לשלוח אותו אל ה"PHP" היא מתייחסת רק ל editor1
במקום לעורך עצמו שעבר שינוי שניתן להשיג את המידע שלו ע"י
קוד:

CKEDITOR.instances['editor1'].getData()
פשוט למצוא דרך לשנות את זה, עברתי על האתר של המחלקה, ולא מצאתי משהו שקשור.

Haimz 26-12-13 15:03

לא הבנתי כלום ממה שרשמת, אבל אם הבעיה שלך היא שזה לא מציג את התוכן של הCKEDITOR,
אז פשוט תריץ את הקוד הזה:
קוד:

for(var instanceName in CKEDITOR.instances)
{
                CKEDITOR.instances[instanceName].updateElement();
}

תריץ לפני שליחת הטופס, וזה יעדכן את הערך של העורך

איציק ברבי 26-12-13 19:21

לפי מה שאני רואה כן הבנת אותי, אבל הדרך שהבאת לי משום מה לא פעלה.
מצאתי פתרון דיי יצירתי, ואני מקווה שהוא לא יאכזב אותי.

את הקוד הזה שמתי בראש הקובץ code.js
קוד:

if(CKEDITOR.instances['editor2']){
        setInterval(function(){       
                $("textarea#desc").html(CKEDITOR.instances['editor2'].getData())
        },1);
}

ואת הקוד הזה שמתי בHTML
קוד:

<textarea cols="60" id="editor2" class="editor" name="editor2" rows="8"></textarea>
<textarea id="desc" name="desc" style="display:none;"></textarea>
<script type="text/javascript">
        //<![CDATA[
                var editor = CKEDITOR.replace( 'editor2' );
        //]]>
</script>

אני יודע שאני יכולתי להשתמש ב change אבל גם זה משום מה לא פעל, יש משהו דפוק בעורך הזה.

מה שבעקרון הקוד הזה עושה, לאחר הרצת הדף וזיהוי העורך העונה לשםeditor2
כל אלפית שנייה נעשת פעולה שלוקחת מהעורך טקסט editor2 את התוכן ומעבירה אותו ל textarea#desc ובקובץ PHP אני מתייחס רק אל ה textarea#desc שיכיל את התוכן כמו שצריך.

Haimz 26-12-13 20:12

הפתרון שלך ממש לא טוב.
לאחרונה בניתי פורום השתמשתי בCKEDITOR,
עשיתי פונקצייה שהקוד שלה הוא מה ששלחתי, נגיד נקרא לה: update_cke_content() - מעדכנת את העורכים עם הקוד שהבאתי לך
ואז קראתי לה onsubmit וזה עבד מעולה..

איציק ברבי 26-12-13 20:30

מצוין! תודה רבה!


כל הזמנים הם GMT +2. הזמן כעת הוא 12:41.

מופעל באמצעות VBulletin גרסה 3.8.6
כל הזכויות שמורות ©
כל הזכויות שמורות לסולל יבוא ורשתות (1997) בע"מ