hi!
Ik zit met een uitdaging waarbij ik (blijkbaar) onvoldoende JS kennis voor heb en het internet me niet veel verder wil hebben.
Situatie:
Een gedeelte van een webpagina bevat een standaard html formulier inclusief een WYSIWYG editor. Omdat er meerdere formulieren kunnen voorkomen binnen diezelfde pagina worden deze dynamisch voorzien van een naam (editor0, editor1 enz...)
In plaats van deze formulieren via een reguliere POST te versturen, doe ik dit met jQuery load(). Met behulp van het onderstaande stukje code verzamel ik alle input en stuur ik deze mee als post.
Nu is het probleem dat ik niet weet hoe ik dynamisch een CKEditor instance kan aanroepen, nu kan ik wel twintig regels ala dit maken:
maar dit verdient nu niet bepaald de schoonheidsprijs...
Iets verder ben ik hierop terecht gekomen:
Helaas mag dit ook niet werken... Na een 2-daagse zoektochtmarathon hoop ik dat iemand mij nu toch echt een klein schopje in de juiste richting kan geven.
Ik zit met een uitdaging waarbij ik (blijkbaar) onvoldoende JS kennis voor heb en het internet me niet veel verder wil hebben.
Situatie:
Een gedeelte van een webpagina bevat een standaard html formulier inclusief een WYSIWYG editor. Omdat er meerdere formulieren kunnen voorkomen binnen diezelfde pagina worden deze dynamisch voorzien van een naam (editor0, editor1 enz...)
In plaats van deze formulieren via een reguliere POST te versturen, doe ik dit met jQuery load(). Met behulp van het onderstaande stukje code verzamel ik alle input en stuur ik deze mee als post.
JavaScript:
1
2
3
4
5
6
7
8
9
| function post_vars(formid) { var vars = new Object(); var form = document.getElementById(formid).elements; for(i=0;i<form.length;i++){ if(form[i].checked != false && form[i].type == 'radio'){eval("vars."+form[i].name+"='"+(form[i].value)+"'");} if(!(/editor([0-9])/.test(form[i].name) && form[i].name != 'editor' && form[i].type != 'radio'){eval("vars."+form[i].name+"='"+escape(form[i].value)+"'");} } return vars; } |
Nu is het probleem dat ik niet weet hoe ik dynamisch een CKEditor instance kan aanroepen, nu kan ik wel twintig regels ala dit maken:
JavaScript:
1
| if('editor' == form[i].name){vars.editor = CKEDITOR.instances.editor.getData();} |
maar dit verdient nu niet bepaald de schoonheidsprijs...
Iets verder ben ik hierop terecht gekomen:
JavaScript:
1
2
3
4
| if(/editor([0-9])/.test(form[i].name)){ var editorname = form[i].name; vars.editor = CKEDITOR.instances.editorname.getData(); } |
Helaas mag dit ook niet werken... Na een 2-daagse zoektochtmarathon hoop ik dat iemand mij nu toch echt een klein schopje in de juiste richting kan geven.