Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   установка фокуса в форме логина на поле имени (https://javascript.ru/forum/jquery/68240-ustanovka-fokusa-v-forme-logina-na-pole-imeni.html)

рони 04.04.2017 11:25

winch,
да, но после того как добавлена форма в конце success

ksa 04.04.2017 11:26

Цитата:

Сообщение от winch
а тогда каким образом можно протрейсить, чтобы найти того, кто фокус забирает?

Как вариант, не ставить фокус... После загрузки всей страницы смотреть у какого элемента он есть.

laimas 04.04.2017 11:30

Цитата:

Сообщение от winch
поскольку ajax вызов у меня универсальный, для разных форм и диалоговых окон, а фокус мне надо только в форме логина ставить

А что мешает работать с атрибутами? Если есть например пользовательский атрибут focus, значит устанавливаем, или через атрибут data-post="операция". Речь то об универсальности, вот и описывайте "универсальное".

winch 04.04.2017 11:36

Цитата:

Сообщение от ksa (Сообщение 449205)
Как вариант, не ставить фокус... После загрузки всей страницы смотреть у какого элемента он есть.

так пробовал - ни у кого нету фокуса.

winch 04.04.2017 11:39

Цитата:

Сообщение от рони (Сообщение 449204)
winch,
да, но после того как добавлена форма в конце success

да понял конечно, что после добавления формы. но вот загвозка:
мне так неудобно, поскольку ajax вызов у меня универсальный, для разных форм и диалоговых окон, а фокус мне надо только в форме логина ставить.

winch 04.04.2017 11:46

Цитата:

Сообщение от laimas (Сообщение 449206)
А что мешает работать с атрибутами? Если есть например пользовательский атрибут focus, значит устанавливаем, или через атрибут data-post="операция". Речь то об универсальности, вот и описывайте "универсальное".

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

рони 04.04.2017 12:04

Цитата:

Сообщение от winch
мне так неудобно,

меняйте алгоритм ... проще добавить условие чем мудрить с неким сторожем, который будет ждать появления нужной формы и ставить фокус. добавили форму, добавили фокус, предусмотрите callback в вашем ajax... хотите трудностей ройте в сторону MutationObserver

laimas 04.04.2017 12:04

Причем тут шаблоны и индивидуальные JS? Ну не с небес же сваливаются формы и прочее на страницах, что-то же их определяет, что?
Вы пишите об универсальном асинхронном запросе, а что в данном случае есть универсальность как не клиентский обработчик выполняющий различные определенные задачи?

var define = {
    a: function() {
        //установить фокус
    },
    b: function() {
        //раскрасить в горошек
    } 
}

success: function(data) {
    var d = $(data).appendTo(selector).find('[data-xxx]')
    //если есть определения задач, то цикл и их выполнение 
}


А уж серверу определить желаемое не сложно.

winch 04.04.2017 12:52

var define = {
    a: function() {
        //установить фокус
    },
    b: function() {
        //раскрасить в горошек
    }
}

этот код где должен быть размещен, на основной странице или в подгружаемой форме?

laimas 04.04.2017 12:55

Это определение функций, операций в рамках "определенной универсальности", и должно быть подключено всегда, по крайне мере там, где используется ваш универсальный запрос.

Через атрибуты ведь можно задать не только операцию/операции, но и аргументы.


Часовой пояс GMT +3, время: 16:37.