Page 1 of 1

JavaScript в форме

Posted: Fri May 22, 2009 9:27 am
by dexel
Функция формирования формы:

Code: Select all

CreateFormStart($id, $action, $returnid, $method, $enctype, $inline, $idsuffix, $params, $extra)
В параметр extra помещаю обработчик формы:

Code: Select all

$extra='onsubmit="return check_form();"';
*1
В результате обработки (исходный код в браузере) искажен JS :

Code: Select all

<form .... enctype="multipart/form-data" onsubmit='"return' check_form_editprofile();"="">
PS На выходе функции cms_module_CreateFormStart :

Code: Select all

<form ..... enctype="multipart/form-data" onsubmit="return check_form_editprofile();">
Смена кавычек в *1 (одиночныедвойные), результат исходного когда в браузере:

Code: Select all

onsubmit="'return" check_form_editprofile();'="">
Помогите решить это методами CMS без примесей >:( HTML

Re: JavaScript в форме

Posted: Sat May 23, 2009 10:14 am
by Sonya
Проблема есть в cms_module_CreateFormStart в файле module.inc.php. Там применяется cms_htmlentities к параметру $extra. Можно убрать ручками, если есть желание "бессовестно патчить основной код".:)

Как вариант работаю с JQuery, поэтому мне JavaScript в формах вообще не нужен, все ловится по ID.

Re: JavaScript в форме

Posted: Sat May 23, 2009 4:52 pm
by ZYV
Лучше, конечно, сообщить об этом разработчикам. Сейчас у меня как никогда нет времени висеть в IRC :(

Re: JavaScript в форме

Posted: Sat May 23, 2009 5:35 pm
by Sonya
ZYV wrote: Лучше, конечно, сообщить об этом разработчикам. Сейчас у меня как никогда нет времени висеть в IRC :(
Вот тут проблема описана http://forum.cmsmadesimple.org/index.ph ... 599.0.html подробно. Со мной в IRC как с ребенком разговаривают :(

Re: JavaScript в форме

Posted: Mon May 25, 2009 9:11 am
by ZYV
Это потому, что ты добрая и культурная. А надо быть как я - злым, грубым, наглым и хамоватым :) некоторые так лучше понимают :) Ладно, попробую пробить как спадет аврал.

Re: JavaScript в форме

Posted: Wed Jun 17, 2009 6:33 pm
by dexel
Sonya wrote:
ZYV wrote: Лучше, конечно, сообщить об этом разработчикам. Сейчас у меня как никогда нет времени висеть в IRC :(
Вот тут проблема описана http://forum.cmsmadesimple.org/index.ph ... 599.0.html подробно. Со мной в IRC как с ребенком разговаривают :(
Sonya, по той ссылке описано как объявить класс CSS, там без проблем. А вот вышеприведённую запись вызова JS-функции - никак. Вобщем пришлось мешать HTML с PHP  :( , не забавно. JQuery - тяжелая артилерия, нужно было лишь проверить данные формы перед отправкой на сервант.
А с разработчиками - так не англицкого, не немецкого не знаю ;) Закрыли вопрос.

Другая тема (открыть не могу новую).
Дайте кто-нибудь ссылку на описание системы роутов!!!
Далее класса CmsRoute не вижу ничего. Хотя эти роуты пишутся в базу, вот только где???
Еще вопрос. Один и тот же роут, например:

Code: Select all

'/forum\/(?P<action>new_topic)\/(?P<fid>[0-9]+)\/(?P<returnid>[0-9]+)$/'
Хранится в нескольких десятках копий, без каких-либо отличий. С чем это может быть связано?
И последний вопрос. Создаю ссылку. Регистрирую роут. При переходе - в адресной строке каша вида:

Code: Select all

http://cmsms153.dx/index.php?mact=Forum,cntnt01,topic,1&cntnt01returnid=85&cntnt01prev_link=edit_post&cntnt01pid=181&cntnt01fid=7&cntnt01tid=42&cntnt01uid=13
Где рыть?
Спасибо