<<<1...5...10...15161718192021>>>
Принимаем вопросы от населения
| Kabak |
|
|---|---|
|
Как прикрепить событие к тэгу {имя_ тэга_ в_ TPL} и синтаксис вызова функции по этому событию ?
{имя_ тэга_ в_ TPL} = <input class="form-control" name="rusername" value="" size="24" maxlength="100" type="text"> Как мне прикрепить событие onclick к input по имени name="rusername" и вызов функции obrabotka() на JS по этому событию ? Как это сделать на простом HTML я знаю, а как это прикрепить к тэгу {имя_ тэга_ в_ TPL} в TPL заполненному HTML разметкой в Cotonti ? можно пример кода на JS ?
Отредактировано: Kabak (25.10.2014 18:59, 11 лет назад)
|
| Roffun |
|
|---|---|
|
Используйте jquery: $("textarea[name=rusername]").attr({"onclick":"obrabotka()", "title":"Тайтл"}) Улетел на другую планету, а там почты нету.. https://www.cotonti.com/forums/45298?m=posts
|
| Kabak |
|
|---|---|
|
1) это делается в любом .js файле прикрепляемому к Cotonti ? 2) Глобальные переменные ( и функции) объявленные в одном js видны в другом ? 3) функцию obrabotka() нужно объявлять в том же js где пишется ваш пример на jquery или не имеет значения ? |
| Alex300 |
|
|---|---|
|
1) Да, но суть не в самом Cotonti, а в наличии элемента на странице, на который подвешивается обработчик события. 2) Да. На то они и глобальные. 3) Не столь важно. Главное чтобы они были в одной области видимости и функция была объявлена до первого ее использования. Есть миры, не здесь, там, где небеса горят, и моря засыпают, и реки дремлют; люди сделаны из дыма, а города – из песен. Где-то опасность, где-то несправедливость, даже где-то остыл чай. Идем Эйс, у нас много работы!...
...Sorry for my english... Бесплатные расширения для Cotonti: https://lily-software.com/free-scripts/ |
| Kabak |
|
|---|---|
$("textarea[name=rusername]").attr({"onclick":"obrabotka()", "title":"Тайтл"})
не вызывает у меня вызова obrabotka() при нажатии мышкой в input с именем rusername, равно как и onkeypress, например. В отладчике просто ничего не происходит. :( создал эту строку в js.js PRoHtml , у вас на сайте каким образом прикреплено событие onblur с обработчиком к input на форме регистрации ? все js у вас ужаты нет возможности подсмотреть :( |
| Kabak |
|
|---|---|
|
Если у вас $("input[name=rusername]").blur(function(){ , то как же у меня заработает - $("textarea[name=rusername]").attr({"onkeypress":"obrabotka()", "title":"Тайтл"}) function obrabotka(){ }
|
| Roffun |
|
|---|---|
#40128 Kabak: Это просто пример, у меня таким образом подключается редактор к экстраполю для краткой новости. События можно вешать куда угодно. А в моем случае с проверкой при регистрации - это целый плагин а не пару строчек кода. А все приведенные выше кусочки кода - для общего примера. Blur - это потеря фокуса. замените onclick на onblur или на onfocus , и соответственно textarea на input:
Добавлено 10 минуты спустя: ---------------- Если вы указываете событие в самом скрипте, то в форме его указывать не нужно. Главное чтобы скрипт был в поле видимости формы. Тогда инпут не троаете вообще, он по умолчанию имеет имя, этого достаточно чтобы обратиться. А уже в скрипте вешаете события, условные операторы и тд Улетел на другую планету, а там почты нету.. https://www.cotonti.com/forums/45298?m=posts
Отредактировано: PRoHtml (26.10.2014 10:17, 11 лет назад)
|
| Kabak |
|
|---|---|
|
Подскажите, как в Cotonti подцепить событие, например : onblur к input с именем rusername и вызвать функцию obrabotka() на это событие c использованием jQuery ? Что-то у меня не получается... |
| Roffun |
|
|---|---|
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
<style>
#myid{background:red}
</style>
<input type="text" name="rusername" />
<script type="text/javascript">
$(document).ready(function(){
$("input[name=rusername]").blur(function() {
obrabotka();
});
function obrabotka(){
$("input[name=rusername]").attr("id", "myid");
}
});
</script>
При событии .blur поле input станет красным. .blur сработает когда кликните на поле (это будет .focus) а потом кликните в любом месте Улетел на другую планету, а там почты нету.. https://www.cotonti.com/forums/45298?m=posts
|
| Kabak |
|
|---|---|
|
Спасибо. пошёл учить jQuery... Добавлено 3 недели спустя: Добрый день.
Подскажите , как в JS прочитать ответ после вызова callback функции Cotonti, например : в TPL указываю для примера :
{PHP|user_activity('userinfo',1,true,true,true,true)}
Как прочитать ответ на вышеуказанную функцию в JS коде при таком вызове ?
Отредактировано: Kabak (17.11.2014 12:41, 10 лет назад)
|
| Dayver |
|
|---|---|
|
Селектором того в что этот ваш тег с ответом вставлен. Например если у вас так
<div class="info_from_callback">{PHP|user_activity('userinfo',1,true,true,true,true)}</div>
тогда в JS пишите так:
var otvet_iz_calbeka = $('.info_from_callback').html();
А если у вас типа
<div class="info_from_callback" rel="{PHP|user_activity('userinfo',1,true,true,true,true)}">bla bla</div>
тогда в JS
var otvet_iz_calbeka = $('.info_from_callback').attr('rel');
Тобишь исключительно знаниями по jQuery решается, и особености кота и его работы с колбеками тут не причем. Pavlo Tkachenko aka Dayver
|
| Kabak |
|
|---|---|
|
Как добавить блок к шобланизатору $t чтобы его обработал движок и вывел текст ? Не создавать NEW а добавить блок тэгов вместе с моим шаблоном к уже существующему объекту $t ? |
| Dr2005alex |
|
|---|---|
#40715 Kabak:
$t->assign(array(
"MY_TEG1" => 'Hello',
"MY_TEG2" => 'Hello qorld'
));
$t->parse('MAIN.MY_BLOCK');
где MY_BLOCK - это блок в шаблоне находящийся внутри блока MAIN.
<!-- BEGIN:MAIN -->
<!-- BEGIN:MY_BLOCK -->
{MY_TEG1} {MY_TEG2}
<!-- END:MY_BLOCK-->
<!-- END:MAIN -->
WebKaa.ru - Cotonti Relax
|
| Dayver |
|
|---|---|
|
Я подумал что вопрос был о такой реализации
//Реализуем возможность использование своего шаблона из своего плуга или т.п.
$my_t = new XTemplate(cot_tplfile('myplug_or_module', 'module', true));
$my_t->assign(array(
"MY_TEG1" => 'Hello',
"MY_TEG2" => 'Hello qorld'
));
$my_t->parse('MAIN');
Направляем отпарсенный результат в стандартный шаблон какого нибудь модуля или плагина
$t->assign("MY_TEG_BLOCK", $my_t->text('MAIN'));
А вообще вот мануал по этой теме http://www.cotonti.com/docs/ext/extensions/xtemplate_programming Pavlo Tkachenko aka Dayver
|