04.04.2017, 11:25
|
|
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,126
|
|
winch,
да, но после того как добавлена форма в конце success
|
|
04.04.2017, 11:26
|
|
CacheVar
|
|
Регистрация: 19.08.2010
Сообщений: 14,228
|
|
Сообщение от winch
|
а тогда каким образом можно протрейсить, чтобы найти того, кто фокус забирает?
|
Как вариант, не ставить фокус... После загрузки всей страницы смотреть у какого элемента он есть.
|
|
04.04.2017, 11:30
|
Профессор
|
|
Регистрация: 14.01.2015
Сообщений: 12,989
|
|
Сообщение от winch
|
поскольку ajax вызов у меня универсальный, для разных форм и диалоговых окон, а фокус мне надо только в форме логина ставить
|
А что мешает работать с атрибутами? Если есть например пользовательский атрибут focus, значит устанавливаем, или через атрибут data-post="операция". Речь то об универсальности, вот и описывайте "универсальное".
|
|
04.04.2017, 11:36
|
Аспирант
|
|
Регистрация: 30.04.2015
Сообщений: 87
|
|
Сообщение от ksa
|
Как вариант, не ставить фокус... После загрузки всей страницы смотреть у какого элемента он есть.
|
так пробовал - ни у кого нету фокуса.
|
|
04.04.2017, 11:39
|
Аспирант
|
|
Регистрация: 30.04.2015
Сообщений: 87
|
|
Сообщение от рони
|
winch,
да, но после того как добавлена форма в конце success
|
да понял конечно, что после добавления формы. но вот загвозка:
мне так неудобно, поскольку ajax вызов у меня универсальный, для разных форм и диалоговых окон, а фокус мне надо только в форме логина ставить.
|
|
04.04.2017, 11:46
|
Аспирант
|
|
Регистрация: 30.04.2015
Сообщений: 87
|
|
Сообщение от laimas
|
А что мешает работать с атрибутами? Если есть например пользовательский атрибут focus, значит устанавливаем, или через атрибут data-post="операция". Речь то об универсальности, вот и описывайте "универсальное".
|
мне казалось что самое универсальное решение - это когда каждая конкретная форма сама имеет js код, для своих прихотей.
если через атрибуты - то это шаблонный подход - он гибкости не дает, поскольку одной форме надо фокус ставить а другой может совсем другое что то делать.
|
|
04.04.2017, 12:04
|
|
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,126
|
|
Сообщение от winch
|
мне так неудобно,
|
меняйте алгоритм ... проще добавить условие чем мудрить с неким сторожем, который будет ждать появления нужной формы и ставить фокус. добавили форму, добавили фокус, предусмотрите callback в вашем ajax... хотите трудностей ройте в сторону MutationObserver
|
|
04.04.2017, 12:04
|
Профессор
|
|
Регистрация: 14.01.2015
Сообщений: 12,989
|
|
Причем тут шаблоны и индивидуальные JS? Ну не с небес же сваливаются формы и прочее на страницах, что-то же их определяет, что?
Вы пишите об универсальном асинхронном запросе, а что в данном случае есть универсальность как не клиентский обработчик выполняющий различные определенные задачи?
var define = {
a: function() {
//установить фокус
},
b: function() {
//раскрасить в горошек
}
}
success: function(data) {
var d = $(data).appendTo(selector).find('[data-xxx]')
//если есть определения задач, то цикл и их выполнение
}
А уж серверу определить желаемое не сложно.
|
|
04.04.2017, 12:52
|
Аспирант
|
|
Регистрация: 30.04.2015
Сообщений: 87
|
|
var define = {
a: function() {
//установить фокус
},
b: function() {
//раскрасить в горошек
}
}
этот код где должен быть размещен, на основной странице или в подгружаемой форме?
|
|
04.04.2017, 12:55
|
Профессор
|
|
Регистрация: 14.01.2015
Сообщений: 12,989
|
|
Это определение функций, операций в рамках "определенной универсальности", и должно быть подключено всегда, по крайне мере там, где используется ваш универсальный запрос.
Через атрибуты ведь можно задать не только операцию/операции, но и аргументы.
|
|
|
|