Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737 Форумы портала PHP.SU :: Помогите с синтаксисом SMARTY
Покинул форум
Сообщений всего: 8
Дата рег-ции: Янв. 2010
Помог: 0 раз(а)
Всем привет!
Есть шаблон на смарти.
есть форма поиска, поле input.
Задача - сделать так чтобы значение value поля input исчезало при кликанье по нему курсором, на чистом html это выглядит так:
А вот на Smarty такое не проканывает
Пробовал if брать в скобки {}, но всё ни то.
буду благодарен за помощь, заранее спасибо!
JustUserR
Отправлено: 14 Января, 2010 - 20:37:58
Активный участник
Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009
Помог: 17 раз(а)
City Кстати я бы заменил onclick на onfocus - а то получится что если пользователь перейдет на поле с помощью tab то в поле останется слово Search что для данной задачи не совсем хорошо
Как возможное решение можете загнать код скрытия и показа слова Search в отдельную функцию и вызывать ее
Функция window.sh_inp=function(th) {if(th.value == "Search") {th.value =""}; if(th.value == "") {this.value = "Search"}; } и вызываете ее sh_inp(this)
И вообще откуда в вашем варианте на JS тройное равно - явная ошибка
----- Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
City
Отправлено: 14 Января, 2010 - 20:57:48
Новичок
Покинул форум
Сообщений всего: 8
Дата рег-ции: Янв. 2010
Помог: 0 раз(а)
JustUserR пишет:
Как возможное решение можете загнать код скрытия и показа слова Search в отдельную функцию и вызывать ее
Функция window.sh_inp=function(th) {if(th.value == "Search") {th.value =""}; if(th.value == "") {this.value = "Search"}; } и вызываете ее sh_inp(this)
Спасибо! Помогло! Огромное спасибо! А я мучался.. (Добавление)
И всё-таки интересно почему обычным способом
Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009
Помог: 17 раз(а)
City пишет:
И всё-таки интересно почему обычным способом в SMARTY не работает??? хм..
Я smarty не пользуюсь но мне кажется что дело в обработке фигурных скобок как служебных - может их как-нибудь экранировать надо было
City пишет:
Спасибо! Помогло! Огромное спасибо! А я мучался..
Я рад что получилось таким методом
----- Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
Ins1ne
Отправлено: 14 Января, 2010 - 23:41:06
Новичок
Покинул форум
Сообщений всего: 19
Дата рег-ции: Март 2009
Помог: 0 раз(а)
Если вам интересно правильное решение проблемы, вот выдержка из мануала:
Цитата:
Тэги literal позволяют воспринимать блоки данных буквально. Обычно они используются вместе с javascript или таблицами стилей, в которых фигурные скобки конфликтуют с синтаксисом разделителей. Весь текст внутри тэгов {literal}{/literal} не интерпретируется, а выводится "как есть".
P.S>Я вижу Вы хорошо разбираетесь в СМАРТИ, если Вам не составит труда - посоветуйте пожалуйста какую-то литературу, сайт(http://www.smarty.net/), форум по Smarty.
Заранее спасибо.
JustUserR
Отправлено: 15 Января, 2010 - 11:05:45
Активный участник
Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009
Помог: 17 раз(а)
Ins1ne То есть прямого способа проэкранировать данные не существут - ведь в принципе можно (Хотя бы ради взлома) внутри строки в JS пометить данные типа {/literal} и все уедет - может фигурные скобки можно экранировать (Как я и предположил выше - ведь дело именно в том что они являются служебными символами в smarty-щаблонизаторе
----- Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
Ins1ne
Отправлено: 15 Января, 2010 - 13:42:39
Новичок
Покинул форум
Сообщений всего: 19
Дата рег-ции: Март 2009
Помог: 0 раз(а)
City пишет:
P.S>Я вижу Вы хорошо разбираетесь в СМАРТИ, если Вам не составит труда - посоветуйте пожалуйста какую-то литературу, сайт(http://www.smarty.net/), форум по Smarty.
Заранее спасибо.
я пользовался в своё время мануалом только
JustUserR пишет:
Ins1ne То есть прямого способа проэкранировать данные не существут - ведь в принципе можно (Хотя бы ради взлома) внутри строки в JS пометить данные типа {/literal} и все уедет - может фигурные скобки можно экранировать (Как я и предположил выше - ведь дело именно в том что они являются служебными символами в smarty-щаблонизаторе Улыбка
Я просто особо сильно не вдавался в Smarty, возможно есть другие способы экранирования фигурных скобок, я навскидку сказал действующий
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.