Revo. ExtJS. Помогите плиз кто владеет.
Однажды изучу, но пока не доходят руки. Очень прошу помощи у знатоков по коду, сам походу не вывезу… уже сутки просидел.
Делаю кастомное поле по мануалам. Что-то типо того: тыц
пыц
Все получается. Но дошел до момента, что никак не могу вытащить данные. С инпутом если — все ок. Но разница в том, что у меня не инпут, а див, в который подгружается информация. Т.е. в TV должно записаться innerHTML этого дива.
Вот заведомо неверный мой код:
Делаю кастомное поле по мануалам. Что-то типо того: тыц
пыц
Все получается. Но дошел до момента, что никак не могу вытащить данные. С инпутом если — все ок. Но разница в том, что у меня не инпут, а див, в который подгружается информация. Т.е. в TV должно записаться innerHTML этого дива.
Вот заведомо неверный мой код:
<div id="tv{$tv->id}" name="tv{$tv->id}" class="contboxs"></div>
<script type="text/javascript">
// <![CDATA[
{literal}
MODx.load({
{/literal}
xtype: 'textfield'
,name: 'tv{$tv->id}'
,hiddenName: 'tv{$tv->id}'
,transform: 'tv{$tv->id}'
,id: 'tv{$tv->id}'
,width: 300
{literal}
,listeners: { 'div': { fn:MODx.fireResourceFormChange, scope:this}}
});
{/literal}
// ]]>
</script>
Что подправить можно, чтоб заработало с блочным элементом?0о Комментарии: 6
Судя по количеству ответов не только мне ЭкстЖиЭс сложноват :D
Так и есть, в основном это разработчики дополнений. Из-за Ext JS на revo, некоторые выбирают evo
Ахах))) По стечению обстоятельств как раз дополнение и разрабатываюXD
Попробуйте записывать значение tv в input (или textarea), и повесить обработчик, который будет связывать содержимое input с div, т.е. input пусть будет первичным, а div зависеть от его значения.
Ну примерно этим путем счас и иду…
Только хз как его присваивать… Если вот так чекаю,
то в консоли то что надо вижу, а через код выше не лезет упорно в value инпута
<input type="hidden" id="tv{$tv->id}" name="tv{$tv->id}" class="contboxs" value="{$tv->value|escape}"></input>
<div id="contboxs{$tv->id}" name="contboxs{$tv->id}" class="contboxs"></div>
<script type="text/javascript">
// <![CDATA[
{literal}
MODx.load({
{/literal}
xtype: 'textfield'
,name: 'tv{$tv->id}'
,hiddenName: 'tv{$tv->id}'
,transform: 'tv{$tv->id}'
,id: 'tv{$tv->id}'
,value: Ext.get(contboxs{$tv->id}).dom.innerHTML
{literal}
,listeners: { 'select': { fn:MODx.fireResourceFormChange, scope:this}}
});
{/literal}
// ]]>
</script>
Только хз как его присваивать… Если вот так чекаю,
jQuery('.contboxs').on('click', function(){
value = Ext.get(contboxs{$tv->id}).dom.innerHTML;
console.log(value);
});
то в консоли то что надо вижу, а через код выше не лезет упорно в value инпута
Я этот ExtJS дом труба шатал… Замучался сил нет… Сделал пока на общепонятном jQuery.
Конечно, если найду в дальнейшем способ, хотелось бы все таки по нормальному.
Так что все равно актуально и вопрос открыт!
Конечно, если найду в дальнейшем способ, хотелось бы все таки по нормальному.
Так что все равно актуально и вопрос открыт!
<input type="hidden" id="tv{$tv->id}" name="tv{$tv->id}" class="contboxs" value="{$tv->value|escape}"></input>
<div id="contboxs{$tv->id}" name="contboxs{$tv->id}" class="contboxs"></div>
<script type="text/javascript">
// <![CDATA[
{literal}
MODx.load({
{/literal}
xtype: 'container'
,name: 'contboxs{$tv->id}'
,hiddenName: 'contboxs{$tv->id}'
,transform: 'contboxs{$tv->id}'
,id: 'contboxs{$tv->id}'
{literal}
,listeners: { 'select': { fn:MODx.fireResourceFormChange, scope:this}}
});
{/literal}
// ]]>
$('.contboxs').bind("DOMSubtreeModified",function(){
var cbtext = $(this).html();
$('#tv' + {$tv->id}).val(cbtext);
});
$( document ).ready(function() {
var tvtext = $('#tv' + {$tv->id}).val();
$('#contboxs' + {$tv->id}).html(tvtext);
});
</script>
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.