Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > JavaScript: для новичков > CodeMirror onsubmit problem |
Автор: introtel 6.6.2009, 13:41 |
Кто нибудь использует CodeMirror для подсветки синтаксиса? у меня textareа в форме. у формы onsubmit работает javascript. в этом случае value textareа не передается на сервер. помогите решить проблему. Спасибо! |
Автор: Dobermann 6.6.2009, 13:42 |
Ну так код выложи!! |
Автор: introtel 6.6.2009, 14:02 |
это кусок из CodeMirror if (area.form) { function updateField() { area.value = mirror.getCode(); } if (typeof area.form.addEventListener == "function") area.form.addEventListener("submit", updateField, false); else area.form.attachEvent("onsubmit", updateField); } а так я его использую: <script>function submitForm(){ .......... } </script> <form name="A_config" action="..." method="POST"> <textarea id="А" name="А"></textarea></td></tr> <script type="text/javascript"> var editor = CodeMirror.fromTextArea(А, { height: "500px", parserfile: "parsexml.js", stylesheet: "css/xmlcolors.css", path: "js/", continuousScanning: 500, lineNumbers: true, textWrapping: false }); </script> <input type="button" value="Save" onclick="submitForm()"></td></tr> если НЕ использовать onclick JS, все работает. а так нет |
Автор: Dobermann 6.6.2009, 15:09 |
Без этого все работает? |
Автор: introtel 6.6.2009, 15:15 |
CodeMirror работает, но форма написана так что для того чтоб субмитнются ее нужно вызвать ис ЙС...don't ask why |
Автор: Dobermann 6.6.2009, 15:19 |
Я понимаю что ее нужно вызвать...попробуй объект передавать через функцию submitForm... |
Автор: introtel 6.6.2009, 16:00 |
сорри не вкурила какой обьект куда.... |
Автор: introtel 6.6.2009, 16:23 |
А можно подсказать syntax highlighter который работал бы при наборе текста? Добавлено через 7 минут и 7 секунд Another utility function, CodeMirror.fromTextArea, will, given a textarea node or the id of such a node, hide the textarea and replace it with a CodeMirror frame. If the textarea was part of a form, an onsubmit handler will be registered with this form, which will load the content of the editor into the textarea, so that it can be submitted as normal. This function optionally takes a configuration object as second argument. var editor = CodeMirror.fromTextArea("inputfield", { parserfile: ["tokenizejavascript.js", "parsejavascript.js"], path: "lib/codemirror/js/", stylesheet: "lib/codemirror/css/jscolors.css" }); из мануала COdeMirror |
Автор: bars80080 6.6.2009, 18:15 |
во-первых, желательно пользоваться кнопкой "код", дабы никто не ломал глаза во-вторых, желательно выкладывать весь код, а не отрывочные вырезки. к примеру, судя по приведённому, у меня подозрения, что у вас таблица перекручена структурой с формой, что вполне может стать причиной не отправления данных. также не ясно, что находится в submitForm(), не видно чтобы вообще хоть что-то отправлялось кстати, хоть что-то на сервер уходит? |
Автор: ksnk 6.6.2009, 18:37 | ||
Дело, видимо, в том, что форму introtel желает послать именно JavaScript'ом. Желание неочевидное, но иногда может возникнуть. Иллюстрация проблемы, насколько я протелепал:
используется первый вариант, когда сабмит делается минуя все сторонние обработчики. А нужно - второй. Явно вызвать обработку onsubmit'а |
Автор: introtel 7.6.2009, 09:22 | ||||
Извиняюсь за сумбурный вопрос. вот весь код:
Вот в таком состоянии на сервер не отправляется value поля query. если закомментировать
все ОК. Буду очень благодарна за помощь. |
Автор: introtel 7.6.2009, 20:33 |
проблема решилась передачей нужной мне функции ЙС конструктору КодМиррор, в котором передавалась нужная функция нужной кнопочке онклик. спасибо всем. |