Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
естественно, за 11 страниц обсудили массу аспектов. Код: html 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. Хотя битва была изначально за/против eval, apply здесь(для установки this на обрабатываемую форму) Код: javascript 1. 2. 3. 4. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2016, 00:47 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
Изопропилестественно, за 11 страниц обсудили массу аспектов. Код: html 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. Хотя битва была изначально за/против eval, apply здесь(для установки this на обрабатываемую форму) Код: javascript 1. 2. 3. 4. Браво. Даже не знаю с чего начать 1. Код: javascript 1. Вадя хотя бы расширял сам объект формы, а ты вообще на расширение window в чистом виде замахнулся :) Если модульную систему будешь писать, будешь называть функции jasdhflkjsdfjsadfhsakdfksgadfgsdfgsjh_myFunction ? Что бы со другими/сторонними модулями не пересекаться? :) 2. Изопропил"Локальных" функций(методов объекта Form) у топикстартера не было зато были у меня... у топикстартера вообще подход другой, и обсуждали мы изначально не его подход, а мой 3. Код: javascript 1. Прекрасно... И все новые формы добавляемые на страницу (например подгружаемые аяксом) в пролёте... 4. Изопропилобсуждается замена eval, разве нет? Именно... так замени же этот "минус" таким образом, что бы твоя замена не породила ещё 3 новых, более значимых, чем некое иллюзорное предупреждение в интернете "eval is evil", которое не все даже понять правильно могут, не говоря о том, что бы в суть вникнуть. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2016, 01:17 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
Програмёр, 1 - function bar(){} - уже расширяет window что по твоему собственно есть $.extend ? как ещё проиллюстировать возможность вызова функции с именем "foo.g.t" , чтоб пример был рабочим? 2 - локальные или глобальные - похер авторvar ctx = window ; /* если хочется искать в "локальных" - var ctx=this; */ по хорошему нужно поиск сначала делать локальный, потом глобальный со всеми сопутствующими проверками 3. да, согласен 4. this передать таки нужно в эти постсубмит обработчики как и составные имена обработать. окружающий код только для того нужен , чтоб этот фрагмент реально работоспособным был (п 1 включая) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2016, 01:43 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
ИзопропилПрограмёр, 1 - function bar(){} - уже расширяет window что по твоему собственно есть $.extend ? как ещё проиллюстировать возможность вызова функции с именем "foo.g.t" , чтоб пример был рабочим? 2 - локальные или глобальные - похер авторvar ctx = window ; /* если хочется искать в "локальных" - var ctx=this; */ по хорошему нужно поиск сначала делать локальный, потом глобальный со всеми сопутствующими проверками 3. да, согласен 4. this передать таки нужно в эти постсубмит обработчики как и составные имена обработать. окружающий код только для того нужен , чтоб этот фрагмент реально работоспособным был (п 1 включая) 1. Так и я о том же.... не должно быть никакой функции bar в глобальной области видимости... они все в локальных контекстах закрываются. В глобальной оставляются только те, которые не получилось "спрятать". И то зачастую это причина плохой архитектуры. 2. Сделай код с локальными, пожалуйста, что бы можно было его в файл залить и проверить работоспособность не внося разные правки. То есть он должен изначально выполнять предъявленные к нему требования, а уже потом всё остальное. А у тебя получается наоборот... ты закладываешь в код "няшки", а основную задачу он не выполняет... Типа "хотите - поменяйте и будет выполнять"! 3. ОК. Но предполагается что для продолжения беседы надо исправить. Иначе твой код получается изначально хуже моего :) 4. Я не хочу вносить правки в твой код, что бы беседа оставалась чистой и не распылялась. То есть на мой рабочий код в ответе должен содержаться другой такой же рабочий код, только лучше моего. (то есть он может то же что и мой, только делает это лучше/чище/быстрее или может что-то ещё, чего не может мой) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2016, 01:56 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
Програмёр, хорошо Код: html 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2016, 02:30 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
Програмёр, а где ты размещаешь локальные функции (методы форм) ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2016, 02:33 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
ИзопропилПрограмёр, а где ты размещаешь локальные функции (методы форм) ? Странный вопрос... вот тут Код: javascript 1. 2. 3. 4. 5. 6. 7. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2016, 02:36 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
ИзопропилПрограмёр, хорошо Код: html 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. уже лучше, но твой код ещё кое чего не может. Зачем ты делегируешь событие, если любая новая форма вставленная в код в любом случае будет в пролёте. Я не смогу загрузить с сервера html новой формы, вставить его в документ, и получить форму работающую по указанному принципу :)) Обработчик ответа ты ведь к объекту формы цепляешь... Ну смотри... мой код может так: Код: html 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. 51. 52. 53. 54. 55. 56. А твой код такое может? :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2016, 02:56 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
Изопропил, кстати, ты к 100500-ому сообщение предложил то же, что вадя предлагал на второй странице этой же темы (ту же идею). Просто он предлагал завязываться на id, а ты - на имя. Не вижу особой разницы.. ну да, у тебя не будет коллизии айди элементов, но это не многое меняет :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2016, 03:10 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
Програмёр, по вопросу id - за этим надо также следить, как и за уникальностью имен любых переменных. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2016, 08:01 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
Програмёр, завязываются на имена, классы стоит тогда, когда нужно присвоить что-то нескольким dom элементам . в любом другом случае обращение по id. система считает , что id уникально, и прекращает просмотр дерева при нахождение первого. в других случаях ищет все , т.е. просматривает дерево до конца. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2016, 08:08 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
Изопропил, такое Код: javascript 1. лучше заменить на такое Код: javascript 1. 2. 3. 4. 5. 6. таке Код: javascript 1. лучше заменить на такое Код: javascript 1. в таком случае замена элемента form.ajax не вызовет пропадание его обработчика это и Я не смогу загрузить с сервера html новой формы, вставить его в документ, и получить форму работающую по указанному принципу :)) исправляет ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2016, 08:37 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
Програмёр, с учётом всего, что было обсуждено, по поводу этого автор "window[ this.id].cc = ..." вот это и есть захламления глобального объекта!!! Эт овы не локальную переменную создали, а глобальную!!! есть ли каки-либо изменения или добавление свйства всё ещё считаешь захламлением? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2016, 08:48 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
так наглядней будет, хотя это уже дело вкуса. Код: javascript 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2016, 08:52 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
ПрограмёрИзопропилПрограмёр, а где ты размещаешь локальные функции (методы форм) ? Странный вопрос... вот тут Код: javascript 1. 2. 3. 4. 5. 6. 7. и сюда же eval , иначе не увидит своих локальных функций ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2016, 09:23 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
Изопропил, $(document).on'redy') по большей части является глобальным модулем, и в него такое засовывать неочень хортшо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2016, 10:10 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
хочу у Програмёр разрешения спросить на Код: javascript 1. можно я своё говно туда сложу или уже поздно - засрал глобальное пространство? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2016, 10:53 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
вадяИзопропил, $(document).on'redy') по большей части является глобальным модулем, и в него такое засовывать неочень хортшо это добавление функции во внутренний список jquery jquery в глобальное пространство добавляет единственное имя $ , которое можно изменить на что угодно(можно вообще jquery не добавлять в глобальное постранкство) и восстановть $ в предшествующее загрузке состояние см. jQuery.noConflict ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2016, 11:05 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
вадяИзопропил, $(document).on'redy') по большей части является глобальным модулем, и в него такое засовывать неочень хортшо или ты о том, что Програмёр для локальных функций места не нашёл приличного? так я о том же ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2016, 11:21 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
Изопропил, 1 туда добавляется, то что должно выполнится сразу по готовности документа, то , что ты длбавляешь его можно выполнить и позже, до работы твоего основного кода. Это чисто условное разделение. но логически позволяет лучше понять код ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2016, 12:18 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
Изопропил, 2 $(document).on позволяет назначить обработчик один раз и в дальнейшем при замене элемента обработчик оказывается сохранённым. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2016, 12:29 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
вадяИзопропил, 1 туда добавляется, то что должно выполнится сразу по готовности документа, то , что ты длбавляешь его можно выполнить и позже, до работы твоего основного кода. Это чисто условное разделение. но логически позволяет лучше понять код спасибо кэп )) то есть всё говно что есть нужно положить сюда, причём одной кучкой, иначе eval не увидит(eval естественно в эту кучу) За что боролись? ---------------------------------------------------------------------------------- ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2016, 14:56 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
Изопропил, у меня там только очень обязательное для инициализации при загрузки ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2016, 15:32 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
Код: javascript 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. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. Вот без eval... В виде jquery плагина. Можно навешивать обработчик как на конкретную коллекцию, так и делегировать по селектору (что бы цеплялись новые добавляемые формы). Считаю это решение лучше, чем моё предыдущее... и лучше, чем все другие тут озвученные. Потому с eval вопрос точно закрываем, а вот сравнение с другими решениями можем провести и обсудить, если у кого есть желание :) P.S. Столько кода меня вынуждаете писать, что я даже на работе зачастую меньше напрягаюсь ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2016, 15:59 |
|
||
|
|

start [/forum/topic.php?fid=22&msg=39342122&tid=1444910]: |
0ms |
get settings: |
13ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
70ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
63ms |
get tp. blocked users: |
1ms |
| others: | 15ms |
| total: | 195ms |

| 0 / 0 |
