|
|
|
|
|
для: dimaxz
(04.03.2011 в 15:04)
| | Просто покажите функцию, которая отображает форму.
[поправлено модератором] | |
|
|
|
|
|
|
|
для: dimaxz
(04.03.2011 в 15:38)
| | Вы читали выделенное жирным, что callback, это ваша функция после завершения операции загрузки данных с сервера? Вот и пишите в этой функции все что вам нужно. | |
|
|
|
|
|
|
|
для: dimaxz
(04.03.2011 в 15:35)
| | вот мне и нужно НЕ ковырятся в каждом виджете на событии ajax "ЗАГРУЖЕННО УСПЕШНО"
а в конструкторе form.init сфокусировать элемент если он появился и видим и находится внутри формы _name | |
|
|
|
|
|
|
|
для: sim5
(04.03.2011 в 15:09)
| | работает так:
//так запускается форма с вкладками формируется объект с именем form_task а внутри формы идет рендеринг вкладок и уже ОНИ АСИНХРОННО подгружают данные
form.init('form_task',['tabs'],'title')
//такой вызов создаст форму не тока с вкадками но и с autocomplete
form.init('form_task',['tabs','autocomlpete'],false)
//а такой самый простой загрузит асинхронно содержимое
form.init('form_task',['frame'],'title')
в примере указал самый простой способ,здесь важно имеено во время формирования формы установить событие которое бы делало фокус на указанном элементе
form.init = function(_name,_obj,_focusID){
//здесь формируем окно _name
//здесь запускаем другие виджеты _obj
//здесь делаем фокус на элементе если указан _focusID и если загружен в DOM
}
|
| |
|
|
|
|
|
|
|
для: dimaxz
(04.03.2011 в 14:36)
| | .load()
Осуществляет запрос к серверу методом GET, без перезагрузки страницы. Полученные от сервера данные рассматриваются библиотекой jQuery как html. При получении данных, они автоматически будут помещены внутрь выбранных элементов на странице. Функция имеет несколько необязательных параметров.
.load(url, [data], [callback], [dataType]):jQueryv:1.0
url — url-адрес, по которому будет отправлен запрос.
data — данные, которые будут отправлены на сервер. Они должны быть представлены в форме объекта, например: {fName1:value1, fName2:value2, ...}.
callback(data, textStatus, XMLHttpRequest) — пользовательская функция, которая будет вызвана после того, как присланный сервером html-текст будет помещен в выбранные элементы страницы.
data — данные, присланные с сервера.
textStatus — статус того, как был выполнен запрос.
XMLHttpRequest — объект XMLHttpRequest | |
|
|
|
|
|
|
|
для: SHAman
(04.03.2011 в 14:50)
| | http://myproject.lanetz.ru/
двойной щелчек по таблице покажет форму | |
|
|
|
|
|
|
|
для: dimaxz
(04.03.2011 в 14:36)
| | Проблема все еще не ясна.
Непонятно что находится на странице в момент загрузки, когда и что именно подгружается аяксом, куда оно девается и как когда убирается с экрана и т.д.
По идее, как только вы встроили объект в DOM - можно вешать на него обработчики. Но тут, в общем, так дело обстоит:
1) если вы загрузили что-то аяксом и тут же показали нужно последней строкой сделать этот фокус и все будет работать.
2) если вы загрузили так, что оно скрыто, то существует какой-то скрипт, который эту форму будет показывать. А раз так, то в конец этого скрипта нужно добавить этот злосчастный фокус.
Я не понимаю в чем проблема. Вам не нужно пытаться ловить события. Вам нужно просто дописать одну строку в те места, где форма делается видимой. | |
|
|
|
|
|
|
|
для: SHAman
(04.03.2011 в 14:27)
| | в том то и дело что нет такого момента при котором поле видно
$('#task_t_form #ol_subject').load(function(){
this.focus()
alert('focus')
});
при load вообще ничего не происходит
а при ready вообще если форма еще не формировалась | |
|
|
|
|
|
|
|
для: dimaxz
(04.03.2011 в 14:14)
| | Ну дополните. Но вообще-то, скорее всего, у вас известен момент когда это поле уже видно.
Чего вы хотите-то? Там скрипт на одну строку. Метод focus(). Когда его дергать - вам виднее, потому что только вы понимаете как у вас там все происходит. Я уже сгенерировал несколько решений, но вы все отвергаете почему-то. | |
|
|
|
|
|
|
|
для: SHAman
(04.03.2011 в 13:14)
| | но это событие надо еще дополнить событием на готовность элемента TITLE | |
|
|
|
|