powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / о модальный окнах и автозавершении в ExtJS 2.2
17 сообщений из 17, страница 1 из 1
о модальный окнах и автозавершении в ExtJS 2.2
    #35641718
andrei-kom
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В главном окне при нажатии на ссылку создаю всплывающее окно:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
var win = new Ext.Window({
        width: 574 ,
        height: 400 ,
        modal:true,
        autoLoad:"/Forms/FindJob.html",
        frame:false,
        closable:false,
        resizable:false,
        animateTarget:"findjobw"
    });
win.show();
Как мне получить доступ к элементу в окне?
document.getElementById, win.finById, win.items возвращают null or not an object.

В частности хотелось бы из текстового инпута в окне сделать комбо-бокс вот так:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
var combo = new Ext.form.ComboBox({
        store: store,
        displayField:'keywords',
        typeAhead: true,
        mode: 'local',
        forceSelection: true,
        triggerAction: 'all',
        selectOnFocus:true,
        applyTo: 'KeywordsTextBox'
        });
но пишет, что объект null :(.
При этом сама форма работает. То есть если заполнить поля в форме и запустить поиск результаты выводятся.
...
Рейтинг: 0 / 0
о модальный окнах и автозавершении в ExtJS 2.2
    #35643918
ZeusTheTrueGod
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ну блин, у вас тут смешан обычный html и extjs
если нужно найти элемент с данным id - используйте Ext.get - возврашает элемент

короче в фаербаге надо это пытаться сделать, могу попробовать, если будет ссылка на страничку
...
Рейтинг: 0 / 0
о модальный окнах и автозавершении в ExtJS 2.2
    #35643924
ZeusTheTrueGod
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
скорее всего просто нет элемента с id=KeywordsTextBox
...
Рейтинг: 0 / 0
о модальный окнах и автозавершении в ExtJS 2.2
    #35645981
andrei-kom
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ZeusTheTrueGod,

Элемент с d="KeywordsTextBox" все-таки есть :). Он находится на странице FindJob.html и загружается прямо во всплывающее окно. Вот если отказываюсь от загрузки и вписываю код на главную страницу, соответсвенно в окно заружая обычный див, то все работает отлично. Но вот только переношу форму в отдельный файл - перестает :(.
...
Рейтинг: 0 / 0
о модальный окнах и автозавершении в ExtJS 2.2
    #35646550
ZeusTheTrueGod
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ну конечно
так как вы форме ставите аутолоад,
а потом скорее всего у вас в коде происходит вот такая вот вещь -
var win = ...
в этот момент посылается асинхронный запрос на загрузку странички в окошко
потом var combo = ... тут у вас ошибка

а только после этого у вас получается ответ от сервера, и в окошко грузится страничка

это типичная ошибка во всём, что относится к ExtJS и похожим библиотекам, постоянно на неё попадаю

вам либо надо 1) отследить факт загрузки вашей FindJob.html и только после этого делать комбобокс
2) либо через setInterval, либо через Task у ExtJs проверять наличие элемента, а потом только делать комбобокс

и ещё, самое главное - javascript однопоточный, поэтому даже если страница в ваше окошко загрузится мгновенно, она всё равно будет там только после того, как у вас не получится создать комбобокс

предлагаю вам разобраться в исходном коде, как работает autoLoad , и вместо него явно использовать Ext.Updater , в нём можно указать ивент на success
...
Рейтинг: 0 / 0
о модальный окнах и автозавершении в ExtJS 2.2
    #35646783
andrei-kom
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ZeusTheTrueGod,

А как отследить загрузку страницы? Это можно привязать к какому-то событию? Например:
Код: plaintext
win.on('beforerender', createCombo());
Ковыряться в исходниках - уж очень безрадостная перспектива :). С JavaScript столкнулся впервые и для меня это темный лес :).
...
Рейтинг: 0 / 0
о модальный окнах и автозавершении в ExtJS 2.2
    #35647064
ZeusTheTrueGod
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
идея тут правильная, но без разбора исходников с этой библиотекой - никуда

у вашего окошка есть такая вот функция,
Код: plaintext
1.
2.
3.
4.
5.
// private
    doAutoLoad : function(){
        this.body.load(
            typeof this.autoLoad == 'object' ?
                this.autoLoad : {url: this.autoLoad});
}

поэтому вам нужно вместо

Код: plaintext
1.
autoLoad:"/Forms/FindJob.html",
вставить
Код: plaintext
1.
autoLoad:{url:"/Forms/FindJob.html",callback:function(){alert('page loaded, insert your combobox here')}},

пробуйте, разбирайтесь
внутри анонимной функции делаете комбобокс и всё прочее

и читайте исходники, иначе с экт жс вы никуда не уедите
...
Рейтинг: 0 / 0
о модальный окнах и автозавершении в ExtJS 2.2
    #35647286
andrei-kom
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ZeusTheTrueGod,

Спасибо, что не поленились полезть в исходники :), но все равно не работает :(. Теперь вообще окно не появляется :(. Главная страница затеняется, но само окно не появляется.

Ладно, наверное брошу это гиблое дело, впишу код формы на главной странице и не буду мучать ни себя, ни других. Просто хотелось как лучше :).

ZeusTheTrueGod, ,
еще раз спасибо :).
...
Рейтинг: 0 / 0
о модальный окнах и автозавершении в ExtJS 2.2
    #35647379
ZeusTheTrueGod
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
дали бы исходный текст, или прям ссылку на сайт в инете, я думаю, всё бы получилось


а дело это не гиблое, просто надо прочитать и сделать много примеров (те же самые examples)

вот смотрите, как это можно сделать

var win = new Ext.Window({
width:574,
height:400,
modal:true,
frame:false,
closable:false,
resizable:false,
animateTarget:"findjobw"
});
win.show();
win.body.load({url:'/Forms/FindJob.html',callback:function(){//insert combobox here}});

и главное - включите фаербаг и смотрите, что же у вас происходит
...
Рейтинг: 0 / 0
о модальный окнах и автозавершении в ExtJS 2.2
    #35647596
andrei-kom
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ZeusTheTrueGod,

Ок, если Вам не лень поковыряться :), завтра скину исходник, сегодня уже ухожу домой. Что именно из исходника Вам надо?
...
Рейтинг: 0 / 0
о модальный окнах и автозавершении в ExtJS 2.2
    #35647841
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andrei-kom,

Ну вот так всегда. Зевс потратил дофига своего личного времени. В результате - "завтра скину исходник, сегодня уже ухожу домой" . Хе-хе!
...
Рейтинг: 0 / 0
о модальный окнах и автозавершении в ExtJS 2.2
    #35648636
andrei-kom
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ShSerge,

Я благодарен ZeusTheTrueGod за помощь и если я кого-то чем-то обидел, то приношу свои извинения. Но, все-таки, если я не мог скинуть исходник сразу вчера, значит для этого были причины, о которых писать на форуме для всеобщего обозрения не считаю нужным.Согласен, "ухожу домой" не лучший вариант, но что-то сочинять времени не было.
...
Рейтинг: 0 / 0
о модальный окнах и автозавершении в ExtJS 2.2
    #35649570
ZeusTheTrueGod
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ShSerge,

я не потратил дофига своего личного времени, потому что эта задачка не является чем то очень сложным - она простая и незамысловатая

вот если бы я не работал раньше с этой библиотечкой, и пытался б разобраться что не так - вот это было бы проблема, на которую я б потратил своё время

ну а человек, который здесь пишет - весьма странный- ни фаербага, ни исходников, ни скриншотов, не может даже эти две странички на сайт выложить
мне не нужны его исходники - в фаербаге я могу сразу всё подправить так, как мне нужно
...
Рейтинг: 0 / 0
о модальный окнах и автозавершении в ExtJS 2.2
    #35649955
andrei-kom
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ZeusTheTrueGod,

Извините. Вот исходники: http://ifolder.ru/9040181
Сайт пока нигде не размещен. Он еще в начальной стадии разработки.
...
Рейтинг: 0 / 0
о модальный окнах и автозавершении в ExtJS 2.2
    #35651349
andrei-kom
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ZeusTheTrueGod,

Спасибо, все-таки Ваш способ работает. А именно:
Код: plaintext
autoLoad:{url:"/Forms/FindJob.html",callback:function(){alert('page loaded, insert your combobox here')}},
Блин, из-за банальной опечатки всем голову морочил :(. Совсем не внимательный стал :(.
Извините и еще раз спасибо.
...
Рейтинг: 0 / 0
о модальный окнах и автозавершении в ExtJS 2.2
    #35651383
ZeusTheTrueGod
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    <title>Hello World Window Example</title>
    <link rel="stylesheet" type="text/css" href="../../resources/css/ext-all.css" />

    <!-- GC -->
 	<!-- LIBS -->
 	<script type="text/javascript" src="../../adapter/ext/ext-base.js"></script>
 	<!-- ENDLIBS -->

    <script type="text/javascript" src="../../ext-all-debug.js"></script>

<script>

Ext.onReady(function(){
        Ext.get('show-btn').on('click',function(){
        var win = new Ext.Window({
        width: 574 ,
        height: 400 ,
        modal:true,
        frame:false,
        closable:false,
        resizable:false,
        animateTarget:"show-btn"
        });
        win.show();
        win.body.load({url:'1.html',callback:function(el,success,response)
	{alert ('test');
             var combo = new Ext.form.ComboBox({
               //store: store,
               displayField:'keywords',
               typeAhead: true,
               mode: 'local',
               forceSelection: true,
               triggerAction: 'all',
               selectOnFocus:true,
               applyTo: 'forCombo'
             });//combo
            }
        });
        });
});
</script>
</head>
<body>
<h1>Hello World Window</h1>
<input type="button" id="show-btn" value="Hello World" /><br /><br />
</body>
</html>
вот вам пример, ну а страничку 1.html сделайте сами
...
Рейтинг: 0 / 0
о модальный окнах и автозавершении в ExtJS 2.2
    #35651917
andrei-kom
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ZeusTheTrueGod,

Еще раз спасибо.
...
Рейтинг: 0 / 0
17 сообщений из 17, страница 1 из 1
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / о модальный окнах и автозавершении в ExtJS 2.2
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]