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>            
                            Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.