Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> CodeMirror onsubmit problem 
V
    Опции темы
introtel
Дата 6.6.2009, 13:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 12
Регистрация: 25.9.2008

Репутация: нет
Всего: нет



Кто нибудь использует CodeMirror для подсветки синтаксиса? у меня textareа в форме. у формы onsubmit работает javascript. в этом случае value textareа не передается на сервер. помогите решить проблему.
Спасибо!
PM MAIL   Вверх
Dobermann
Дата 6.6.2009, 13:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 992
Регистрация: 7.1.2008

Репутация: нет
Всего: 0



Ну так код выложи!!
PM   Вверх
introtel
Дата 6.6.2009, 14:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 12
Регистрация: 25.9.2008

Репутация: нет
Всего: нет



это кусок из 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, все работает. а так нет 
PM MAIL   Вверх
Dobermann
Дата 6.6.2009, 15:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 992
Регистрация: 7.1.2008

Репутация: нет
Всего: 0



Цитата(introtel @  6.6.2009,  15:02 Найти цитируемый пост)
onclick="submitForm()"

Без этого все работает?
PM   Вверх
introtel
Дата 6.6.2009, 15:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 12
Регистрация: 25.9.2008

Репутация: нет
Всего: нет



CodeMirror работает, но форма написана так что для того чтоб субмитнются ее нужно вызвать ис ЙС...don't ask why
PM MAIL   Вверх
Dobermann
Дата 6.6.2009, 15:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 992
Регистрация: 7.1.2008

Репутация: нет
Всего: 0



Я понимаю что ее нужно вызвать...попробуй объект передавать через функцию submitForm...
PM   Вверх
introtel
Дата 6.6.2009, 16:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 12
Регистрация: 25.9.2008

Репутация: нет
Всего: нет



сорри не вкурила какой обьект куда....
PM MAIL   Вверх
introtel
Дата 6.6.2009, 16:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 12
Регистрация: 25.9.2008

Репутация: нет
Всего: нет



А можно подсказать 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
PM MAIL   Вверх
bars80080
Дата 6.6.2009, 18:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 44
Всего: 315



во-первых, желательно пользоваться кнопкой "код", дабы никто не ломал глаза

во-вторых, желательно выкладывать весь код, а не отрывочные вырезки. к примеру, судя по приведённому, у меня подозрения, что у вас таблица перекручена структурой с формой, что вполне может стать причиной не отправления данных. также не ясно, что находится в submitForm(), не видно чтобы вообще хоть что-то отправлялось

кстати, хоть что-то на сервер уходит?
PM MAIL WWW   Вверх
ksnk
Дата 6.6.2009, 18:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прохожий
****


Профиль
Группа: Комодератор
Сообщений: 6855
Регистрация: 13.4.2007
Где: СПб

Репутация: 48
Всего: 386



Дело, видимо, в том, что форму introtel желает послать именно JavaScript'ом. Желание неочевидное, но иногда может возникнуть. Иллюстрация проблемы, насколько я протелепал:
Код

<form method="GET" action="?do=yess" onsubmit="alert(1);return false;">
<input type="button" onclick="this.form.submit()" value="Submit, no any alert">
<input type="button" onclick="this.form.onsubmit(); this.form.submit()" value="alert+Submit">
<input type="submit" value="alert - submit">
</form>


используется первый вариант, когда сабмит делается минуя все сторонние обработчики. А нужно - второй. Явно вызвать обработку onsubmit'а

Это сообщение отредактировал(а) ksnk - 6.6.2009, 18:37


--------------------
Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! user posted image
PM MAIL WWW Skype   Вверх
introtel
Дата 7.6.2009, 09:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 12
Регистрация: 25.9.2008

Репутация: нет
Всего: нет



Извиняюсь за сумбурный вопрос. вот весь код:

Код

<html>
<head>
    <script src="CodeMirror/js/codemirror.js" type="text/javascript"></script>
    <link rel="stylesheet" type="text/css" href="CodeMirror/css/xmlcolors.css"/>
    <style type="text/css">
      .CodeMirror-line-numbers {
        width: 2.2em;
        color: #aaa;
        background-color: #eee;
        text-align: right;
        padding-right: .3em;
        font-size: 10pt;
        font-family: monospace;
        padding-top: .4em;
      }
    </style>
</script>

</head>

<body>

<script>
function submitForm()
{
    document.f.submit();
}
</script>
<form name="f" action="TestRegexp.php" method="post">
<textarea cols='40' rows='40' id='code' name="query"><?php echo $_POST['query']?>
</textarea>
<input type="text" name="FirstName">
<script>var editor = CodeMirror.fromTextArea("code", {
  parserfile: ["tokenize.js", "parsexml.js"],
  path: "CodeMirror/js/",
  stylesheet: "CodeMirror/css/xmlcolors.css"
});</script>

<input type="button" value="submit" onclick="javascript: submitForm()">
</form>
</body>
</html>


Вот в таком состоянии на сервер не отправляется value поля query. если закомментировать 
Код

<script>var editor = CodeMirror.fromTextArea("code", {
  parserfile: ["tokenize.js", "parsexml.js"],
  path: "CodeMirror/js/",
  stylesheet: "CodeMirror/css/xmlcolors.css"
});</script>



все ОК. 
Буду очень благодарна за помощь. 
PM MAIL   Вверх
introtel
Дата 7.6.2009, 20:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 12
Регистрация: 25.9.2008

Репутация: нет
Всего: нет



проблема решилась передачей нужной мне функции ЙС конструктору КодМиррор, в котором передавалась нужная функция нужной кнопочке онклик. спасибо всем.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.1002 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.