Russian TYPO3 community Форум больше не используется. Присоединяйтесь к каналу #community-ru в Slack for TYPO3 community  

Вернуться   Russian TYPO3 community > Тематические форумы > Локализация проекта

Ответ
 
Опции темы Опции просмотра
Старый 19.05.2006, 15:21   #11
kit
Новенький
 
Регистрация: 08.05.2006
Сообщений: 5
По умолчанию

Впринципе я пока обхожусь такми решением:
В файле typo3/sysext/cms/tslib/class.tslib_content.php, формируется текст обработчика события onsubmit() формы так (строка 2027):
Код:
//$validateForm=' onsubmit="return validateForm(\''.$formname.'\',\''.implode(',',$fieldlist).'\','.t3lib_div::quoteJSvalue($conf['goodMess']).','.t3lib_div::quoteJSvalue($conf['badMess']).','.t3lib_div::quoteJSvalue($conf['emailMess']).')"';

$validateForm=' onsubmit="return validateForm(\''.$formname.'\',\''.rawurldecode(implode(',',$fieldlist)).'\','.t3lib_div::quoteJSvalue($conf['goodMess']).','.t3lib_div::quoteJSvalue($conf['badMess']).','.t3lib_div::quoteJSvalue($conf['emailMess']).')"';
Таким образом передавая незакодированную строку в функцию javascript validateForm().
Примечание, нельзя использовать символ `"` и `,` в метке поля. (ну и не надо)

Последний раз редактировалось kit; 19.05.2006 в 15:35
kit вне форума   Ответить с цитированием
Старый 19.05.2006, 16:04   #12
kit
Новенький
 
Регистрация: 08.05.2006
Сообщений: 5
Lightbulb решение проблемы

В javascript есть функция decodeURI() - она умеет декодить utf-8 строку, закодированную rawurlencoded()
Так что можно не трогать typo3/sysext/cms/tslib/class.tslib_content.php, а поправить файл t3lib/jsfunc.validateform.js
Код:
function validateForm(theFormname,theFieldlist,goodMess,badMess,emailMess)      {
        var formObject = document[theFormname];
        theFieldlist = decodeURI(theFieldlist);   // добавленная строка
        if (!formObj............

Последний раз редактировалось kit; 19.05.2006 в 16:13
kit вне форума   Ответить с цитированием
Старый 21.05.2006, 12:50   #13
Valery Romanchev
Administrator
 
Аватар для Valery Romanchev
 
Регистрация: 23.08.2003
Адрес: Moscow, Russia
Сообщений: 1,926
Отправить сообщение для Valery Romanchev с помощью Skype™
По умолчанию

да решение работает. Большое спасиб!!
Я запостил в баг-треккер
http://bugs.typo3.org/view.php?id=3527
__________________
Веб-студия ТТЛАБ
www.ttlab.ru
Valery Romanchev вне форума   Ответить с цитированием
Старый 22.05.2006, 08:36   #14
kit
Новенький
 
Регистрация: 08.05.2006
Сообщений: 5
По умолчанию еще одна проблема

В t3lib/jsfunc.validateform.js есть еще одна проблемма, которая
проявляется в TYPO3 4.0. Когда в форме ставишь "обязательное поле",
например "Email: | *_EMAIL=input,40", то проверка правильности _EMAIL
тоже не работает. Найдите в файле t3lib/jsfunc.validateform.js блок (в
оригинале номер строки 57):
Код:
    if (specialMode) {
    //index++;  //  <-- закомментируйте эту строку
      theField = split(theFieldlist, ",", index);
    }
Проблема решена.
Файл jsfunc.validateform.js с исправлениями
jsfunc.validateform.zip

Последний раз редактировалось kit; 22.05.2006 в 08:41
kit вне форума   Ответить с цитированием
Ответ


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB code is Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Часовой пояс GMT +4, время: 01:54.


Работает на vBulletin® версия 3.8.1.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot

Хостинг и техническая поддержка: TYPO3 Лаборатория