Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
Всем привет! Чтобы понятно описать мою задачу, придется написать много букв :) Есть у меня js-функция, которая получает все html-формы на странице (с учетом какого-то критерия), вешает на них сабмит. Дальше при отправке формы автоматически проверяется заполненность обязательных полей. И если все нужные поля заполнены, форма отправляется в ajax-файл. В какой конкретно файл отправлять форму определение происходит тоже автоматически на основе данных формы. Идейно, все это выглядит так: html : Код: html 1. 2. 3. js : Код: javascript 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. Ну и дальше в formSubmit методом $.ajax форма отправляется на сервер в ajax-файл, путь к которому генерится на основе данных из параметров module и handler. И вот в formSubit в success и error мне нужно запустить функцию "постсабмитной" обработки, которая для каждой формы может быть своя. Код: 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. Т.е. по идее, имя этой функции (функциЙ) нужно как-то передать в formSubmit (как вариант, в тех же submitParams) а потом вызвать эту функцию по переданному имени. Но насколько я помню из классического JS, использование eval() считалось небезопасным. Хотя JS сам по себе небезопасный, имхо, т.к. он на стороне клиента. Какие есть еще идеи и варианты решения задачи, чтобы свести угрозы безопасности к минимуму или вообще их обойти? Заранее благодарю! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.10.2016, 23:44 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
urukhay, угрозы безопасности чего? :)) Не знаю, может Ваш случай не такой, но всё же расскажу как я обычно вешаю обработчики на такие формы: Код: 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. P.S. Ну ладно... приврал немного. Я никогда так success и error не вешал на формы (только сам ajax так подвешивал, а обработчики успеха/провала обычно в внутри функций перебирал разными switch...case или if..else). Но согласитесь, идея классная в примере ;) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.11.2016, 00:33 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
Програмёр, за использование eval - я б голову сворачивал, 1 это медленно, 2 безграмотно. 3 от ajax стоит отказываться , есть прекрасная замена websocket ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.11.2016, 00:42 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
вадя, прямо-таки отказываться? Почему? Всегда его использовал, никаких проблем не было. Не исключаю, что появилось что-то более современное и эффективное, о чем я не знаю. Если не сложно, можно тезисно? А более подробно я уже сам почитаю. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.11.2016, 03:22 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
Програмёр , идея интересная, но у меня почти тоже самое )) Единственное, я сделал вызов недефолтных обработчиков по другому механизму. Но объяснить мне это будет сложно, тогда мне придется особенности своего движка тут рассказывать )) А метод serialise в Вашем случае что делает? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.11.2016, 03:37 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
Я, конечно, не хаккер, но мне кажется вот сюда: Код: javascript 1. можно подсунуть какой-то вредоносный код, при желании Почитал, советуют делать запуск функций через объект. Грубо говоря: Код: javascript 1. 2. 3. 4. 5. 6. По такому принципу я у себя и реализовал, но за информацию спасибо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.11.2016, 03:41 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
вадяПрограмёр, за использование eval - я б голову сворачивал, 1 это медленно, 2 безграмотно. 3 от ajax стоит отказываться , есть прекрасная замена websocket 1. Код: javascript 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. На handler2 теряется 0.6 секунды (выводит 10239 против 9689) На handler теряется 0.14 секунды (выводит 147 против 8) Замечаете насколько незначимыми эти затраты являются на сложных функциях (как и на простых... в процентах то +150%, а во времени всего 0.14 секунды). Затраты связаны с разбором кода, его интерпретации в выполняемый и т.д. То есть для 1000 000 итераций "замедление" будет приблизительно одинаковым и будет измеряться в милисекундах, если не толкать туда километровый код. 2. Это предположение такое? Даже комментировать не хочу, пока не услышу аргументацию внятную. 3. Жду аргументов эммм..... "Пирамида Грэма".... помните? :)) По всем трём пунктам жду беседу, которая будет конструктивной, а не на основе предположений и субъективного видения ;) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.11.2016, 04:09 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
urukhay Програмёр , идея интересная, но у меня почти тоже самое )) Единственное, я сделал вызов недефолтных обработчиков по другому механизму. Но объяснить мне это будет сложно, тогда мне придется особенности своего движка тут рассказывать )) А метод serialise в Вашем случае что делает? Форму в строку параметров переводит. Кстати... забыл упомянуть, что мой код файлы не отправляет. Но думаю Ваш тоже не отправляет, потому не страшно... Для файлов надо отдельную ветку кода пилить, или разные ajaxForm подключать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.11.2016, 04:12 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
urukhayЯ, конечно, не хаккер, но мне кажется вот сюда: Код: javascript 1. можно подсунуть какой-то вредоносный код, при желании Почитал, советуют делать запуск функций через объект. Грубо говоря: Код: javascript 1. 2. 3. 4. 5. 6. По такому принципу я у себя и реализовал, но за информацию спасибо! Джаваскрипт сам по себе вредоносен ))) Он открыт и выполняется на клиенте. Если в этот джаваскрипт кто-то что-то всунуть умудрится, то никакие защиты кроме обфускации Вас не спасут. Ну а так да... если обфусцируете код js, то метод вызова через объект станет безопаснее, чем напрямую. P.S. Но разобраться в обфусцированном коде не то же самое, что в него что-то вклинить. Вклинить в разы проще. Например сдвинув код на одну строку ниже и выполнив первой строкой всё, что хочется :) Потому и обфускация - это защита от лентяя, которому сложно пару клавиш нажать. Это не hex кода с точками входа, когда хрен разберёшься что где, откуда начинается, а каждая правка грозит фатальной ошибкой отсутствия операции или её неверным вызовом :)) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.11.2016, 04:19 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
urukhayвадя, прямо-таки отказываться? Почему? Всегда его использовал, никаких проблем не было. Не исключаю, что появилось что-то более современное и эффективное, о чем я не знаю. Если не сложно, можно тезисно? А более подробно я уже сам почитаю. https://learn.javascript.ru/websockets ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.11.2016, 05:21 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
Програмёр, ну то, что медленная ты сам посчитал, соглашусь, что в данном случае медленность не критична, но факт :) -то, что не безопасна, все твердят, но ст воимо доводами соласен, безграмотна-потому как есть другой способ вызвать Код: javascript 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. это , конечно, не совсем , но принцип показан. Код: javascript 1. время выполнения меряется так Код: javascript 1. 2. 3. 4. 5. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.11.2016, 05:49 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
вадя Код: javascript 1. А теперь то же самое только не засоряя глобальный объект (window)? Вот мой подход не засоряет, всё делая в локальной области видимости. Это и было причиной такого вызова (в первой версии ответа написал через window, но посчитал такой подход плохим и переписал). Можем обсудить почему не следует засорять глобальную область видимости, но надеюсь Вы со мной согласитесь и нам не придётся эту тему поднимать :)) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.11.2016, 05:55 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
вадяот ajax стоит отказываться , есть прекрасная замена websocket это совсем не замена ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.11.2016, 09:41 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
Изопропилвадяот ajax стоит отказываться , есть прекрасная замена websocket это совсем не замена П.1 начала флейма выполнен. Вадя произнес 'заявление' )) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.11.2016, 09:47 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
авторА теперь то же самое только не засоряя глобальный объект (window)? Вот мой подход не засоряет, всё делая в локальной области видимости. Это и было причиной такого вызова (в первой версии ответа написал через window, но посчитал такой подход плохим и переписал). Можем обсудить почему не следует засорять глобальную область видимости, но надеюсь Вы со мной согласитесь и нам не придётся эту тему поднимать :)) тут вопрос спорный, надо смотреть конкретно по месту. то что засорять не стоит сглашусь. Изопропил вадяот ajax стоит отказываться , есть прекрасная замена websocket это совсем не замена а тут по-точне, пожалуйста. 4 года пользуюсь, вместо ajax, неужели ошибался? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.11.2016, 09:50 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
Petro123Изопропилпропущено... это совсем не замена П.1 начала флейма выполнен. Вадя произнес 'заявление' )) Нене... мы по пирамиде Грэма общаемся :)) Уже вот 2 вопроса закрыли. Жду закрытия третьего (вадя видимо спать ушёл, а я всё до кровати не доберусь). Вопрос с websockets четвёртый. Но вадя когда мне писал второй раз его упустил. Думаю ему просто нечего сказать, потому этот вопрос вероятно уже закрыт. Если нет, то в любом случае быстро закроется. У меня аргументация есть ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.11.2016, 09:54 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
вадя, Слово овехед для тебя пустой звук. Бесполезно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.11.2016, 09:56 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
Програмёр, Давай). Закрой его плжалуйста по сокетам. Удачи! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.11.2016, 09:58 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
авторНене... мы по пирамиде Грэма общаемся :)) Уже вот 2 вопроса закрыли. Жду закрытия третьего (вадя видимо спать ушёл, а я всё до кровати не доберусь). я стараюсь придерживаться по применению - я вроде ответил, что вопрос спорный, надо по конкретному месту, и по вкусу. про засор - я согласился, но это не отвергает спорность певоно пункта. авторВопрос с websockets четвёртый. Но вадя когда мне писал второй раз его упустил. Думаю ему просто нечего сказать, потому этот вопрос вероятно уже закрыт. Если нет, то в любом случае быстро закроется. У меня аргументация есть вот тут ничего не понял ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.11.2016, 10:03 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
Програмёр, я так понимаю Petro123 дошёл до основания пирамиды? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.11.2016, 10:04 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
вадяПрограмёр, я так понимаю Petro123 дошёл до основания пирамиды? Почти. Ссылаясь на личность автора, но не оскорбляя )) Но он в нашей беседе в целом не участвует, потому его простительно... В виде банального вброса :)) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.11.2016, 10:12 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
ПрограмёрУ меня аргументация есть не поможет )) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.11.2016, 10:18 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
вадяавторНене... мы по пирамиде Грэма общаемся :)) Уже вот 2 вопроса закрыли. Жду закрытия третьего (вадя видимо спать ушёл, а я всё до кровати не доберусь). я стараюсь придерживаться по применению - я вроде ответил, что вопрос спорный, надо по конкретному месту, и по вкусу. про засор - я согласился, но это не отвергает спорность певоно пункта. авторВопрос с websockets четвёртый. Но вадя когда мне писал второй раз его упустил. Думаю ему просто нечего сказать, потому этот вопрос вероятно уже закрыт. Если нет, то в любом случае быстро закроется. У меня аргументация есть вот тут ничего не понял Ну значит так, как я понял нашу беседу: 1. Аргумент против - медленно Ответ на аргумент - скорость незначима. После этого пришли к согласию, что в данном случае это не является минусом 2. Аргумент против - неграмотно (потому как можно иначе) Ответ на аргумент - нельзя это сделать иначе не засоряя глобальную область видимости 3. Аргумент против - небезопасно (не Ваш, а urukhay) Ответ на аргумент - учитывая выбранный инструмент вообще незначимо :) 4. Заявление пока без аргументации - вместо ajax можно использовать websocket. Жду аргументацию для чего так делать, если эта тема всё ещё интересна. То есть пока против eval в указанном контексте аргументов нет (все или крайне незначимы или ошибочны)... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.11.2016, 10:22 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
автор2. Аргумент против - неграмотно (потому как можно иначе) Ответ на аргумент - нельзя это сделать иначе не засоряя глобальную область видимости я б не стал так котегорично автор3. Аргумент против - небезопасно (не Ваш, а urukhay) Ответ на аргумент - учитывая выбранный инструмент вообще незначимо :) eval вообще не рекомендуют, и я б не рекомендовал, лучше поискать другой вариант. но это моё мнение. автор4. Заявление пока без аргументации - вместо ajax можно использовать websocket. Жду аргументацию для чего так делать, если эта тема всё ещё интересна. по этой теме я могу много рассказать, поделиться опытом применения, описать достоинства и недостатки. поэтому, для конкрктики, если интересно - задавайте вопросы правда по серверной части в применении к серверу на java. ссылку на информацию я дал. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.11.2016, 10:38 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
вадяпо этой теме я могу много рассказать, поделиться опытом применения, описать достоинства и недостатки. поэтому, для конкрктики, если интересно - задавайте вопросы правда по серверной части в применении к серверу на java. ссылку на информацию я дал. в случае проблемы с соединением по websocket откат на ajax - есть(как в sockjs например)? тебе вебсокеты нужны чтоб на сервере состояние держать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.11.2016, 10:42 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
ПрограмёрПочти. Ссылаясь на личность автора, но не оскорбляя )) да. 1. Я юмор люблю. 2. Мне лень. 3 До дна пирамиды не дохожу. Это неинтеллигентно. ... Взял попкорн. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.11.2016, 10:54 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
авторв случае проблемы с соединением по websocket откат на ajax - есть(как в sockjs например)? я дал ссылку там всё описано. откат для чего? если есть обрыв -там есть обработка обрыва, есть коды по которым можно понять причину обрыва. автортебе вебсокеты нужны чтоб на сервере состояние держать? вот тут полное не понимание. есть несколько Основных отличий при открытии ws создаётся канал связи. сервер может быть инициатором сообщений . после отправки сообщения нет необходимости отправлять ответ. сообщения полностью асинхронны. по ws можно пердвать как текстовые тик и бинарные данные. всё остальное вытекает из этих возможностей. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.11.2016, 10:54 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
вадяоткат для чего? невозможность установления соединения( прокси, антивирусы и т д) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.11.2016, 10:57 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
вадяавтор2. Аргумент против - неграмотно (потому как можно иначе) Ответ на аргумент - нельзя это сделать иначе не засоряя глобальную область видимости я б не стал так котегорично автор3. Аргумент против - небезопасно (не Ваш, а urukhay) Ответ на аргумент - учитывая выбранный инструмент вообще незначимо :) eval вообще не рекомендуют, и я б не рекомендовал, лучше поискать другой вариант. но это моё мнение. автор4. Заявление пока без аргументации - вместо ajax можно использовать websocket. Жду аргументацию для чего так делать, если эта тема всё ещё интересна. по этой теме я могу много рассказать, поделиться опытом применения, описать достоинства и недостатки. поэтому, для конкрктики, если интересно - задавайте вопросы правда по серверной части в применении к серверу на java. ссылку на информацию я дал. "я б не стал так котегорично" - а я стал ))) Мне другой метод доступа к локальным переменным неизвестен. Если Вам известен - поделитесь "eval вообще не рекомендуют" - не аргумент. Скажите конкретно почему его не рекомендуют и как это применимо к указанному случаю "по этой теме я могу много рассказать" - я Вас слушаю ))) Какие плюсы Вы знаете, которые применимы к указанному случаю? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.11.2016, 10:57 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
Изопропилвадяоткат для чего? невозможность установления соединения( прокси, антивирусы и т д) одна проблема - старые прокси могут не пропускать ws (была такая инфа, но я не сталкивался) , обходится легко - делается соединение по wss. для корпоративного применения - оно обязательно. при невозможности установления соединения - есть обрабатываемая ошибка. в применении к данному случаю - нет необходимости использовать форму. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.11.2016, 11:14 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
автор Мне другой метод доступа к локальным переменным неизвестен. Если Вам известен - поделитесь я ж показал Код: javascript 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.11.2016, 11:18 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
вадяавтор Мне другой метод доступа к локальным переменным неизвестен. Если Вам известен - поделитесь я ж показал Код: javascript 1. вадя!!! Вы знаете что такое "локальные переменные"?! Исправьтесь и напишите нормальный ответ на этот вопрос... Или проще, признайтесь что ошиблись. А то начинаете фигню говорить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.11.2016, 11:53 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
ПрограмёрА то начинаете фигню говорить. +1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.11.2016, 12:06 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
авторФорму в строку параметров переводит. Кстати... забыл упомянуть, что мой код файлы не отправляет. Но думаю Ваш тоже не отправляет, потому не страшно... Для файлов надо отдельную ветку кода пилить, или разные ajaxForm подключать Еще как отправляет )) Я просто не стал его здесь приводить. Опять же, идейно: Код: 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.11.2016, 12:21 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
Програмёр, так устроит? Код: html 1. Код: javascript 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. городить ajax не лень ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.11.2016, 16:58 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
городить ajax лень ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.11.2016, 17:00 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
вадяПрограмёр, так устроит? Код: html 1. Код: javascript 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. городить ajax лень Уважаемый вадя, у нас так беседы не получится. "window[ this.id].cc = ..." вот это и есть захламления глобального объекта!!! Эт овы не локальную переменную создали, а глобальную!!! Это значит что у меня в совсем левом модуле, отвечающим совсем за другое, тоже окажется что используется переменная window.xxs и что теперь делать? Лезть в систему и выискивать баг?! Вадя, будьте добры, перед ведением беседы ознакомится с терминами, которые используются в сфере беседы... или хотя бы ознакомьтесь с ними тогда, когда о них кто-то сказал! А то нифига это общение не по пирамиде Грэма. Это я Вам довод, а Вы мне ответ внепопад со словами "дак я уже ответил"!!! Поверьте, это очень злит, потому как является крайней мерой неуважения к собеседнику. Жду ответа по вопросу. Если очередной ответ будет также невпопад, отвечать на него не буду и беседу будем считать законченой с пометкой "вадя не умеет дискутировать даже по инструкции" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.11.2016, 17:40 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
Уважаемый Програмёр автор "window[ this.id].cc = ..." вот это и есть захламления глобального объекта!!! Эт овы не локальную переменную создали, а глобальную!!! я не создал глобальную переменную, я просто добавил свойство для элемента к которому привязан данный обработчик. и есть польза можно назначать ссвойства , заключённые внутри объекта , но имеющие доступ снаружи. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.11.2016, 17:53 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
вадяУважаемый Програмёр автор "window[ this.id].cc = ..." вот это и есть захламления глобального объекта!!! Эт овы не локальную переменную создали, а глобальную!!! я не создал глобальную переменную, я просто добавил свойство для элемента к которому привязан данный обработчик. и есть польза можно назначать ссвойства , заключённые внутри объекта , но имеющие доступ снаружи. Хм, странное решение. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.11.2016, 18:16 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
вадяУважаемый Програмёр автор "window[ this.id].cc = ..." вот это и есть захламления глобального объекта!!! Эт овы не локальную переменную создали, а глобальную!!! я не создал глобальную переменную, я просто добавил свойство для элемента к которому привязан данный обработчик. и есть польза можно назначать ссвойства , заключённые внутри объекта , но имеющие доступ снаружи. А Вы знаете почему в модульных системах нельзя для элементов id давать, или если даёте, то составлять их так, что бы никто другой не догадался их так назвать (зачастую если айди - то некий хэш, с припиской имени самого элемента и с добавлением названием модуля и прочие извращения)?! Потому что они должны быть уникальны... Представьте себе, на сайте 2 формы (вносятся разными модулями системы) и у обеих одинаковый id. Что будет?! - Правильно, нихрена хорошего не будет. Это нарушение спецификации, а потому реакцию браузера предугадать невозможно. И ещё, если это массовое навешивание обработчика на формы, или если это вообще делегированный обработчик навешанный на боди, то как тогда предлагаете поступать (как его навешивать)? А Вы знаете, что по спецификации HTML Вы не можете добавлять произвольные поля к элементам? Эта возможность официально была добавлена только в html5 и только для полей с префиксом "data-"? JQuery вроде до того как-то это эмулировать умела... Но опять же, всё завязывается на data (а вы просто с нарушением всех правил "cc" написали да ещё и на чистом js) В общем, я сначала не понял хитрости с завязкой на id, потому как в код не вникал, выискивая обращения к глобальным переменным. По сути Ваш код аморален и не соответствует правилам написания модульных систем, а также самой спецификации! А ТЕПЕРЬ ГЛАВНОЕ: зачем мне так изгаляться стараясь не написать "eval", если в указанном контексте у него нет слабых или отрицательных сторон? Я то, что вы пишете в 5-6 строк с кучей запутываний, смог написать в одну строку где всё ясно и понятно: "запустить этот обработчик если указан, или дефолтный в ином случае"! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.11.2016, 19:02 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
вадя, Всё просто. Если то, что я написал можно написать иначе - повторите функционал не используя eval :)) То есть зарегистрируйте универсальный обработчик для всех ajax форм, который будет инкапсулировать в себе callback функции, которые в свою очередь будут обработчиками ответа сервера (success, error) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.11.2016, 19:07 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
авторА Вы знаете почему в модульных системах нельзя для элементов id давать, или если даёте, то составлять их так, что бы никто другой не догадался их так назвать (зачастую если айди - то некий хэш, с припиской имени самого элемента и с добавлением названием модуля и прочие извращения)?! а ты знаешь, что самый оптимальный поиск по дереву именно по id.... авторПотому что они должны быть уникальны... Представьте себе, на сайте 2 формы (вносятся разными модулями системы) и у обеих одинаковый id. Что будет?! - Правильно, нихрена хорошего не будет. Это нарушение спецификации, а потому реакцию браузера предугадать невозможно. а ты знаешь что имена перменных/муодулей должны быть уникальны? авторИ ещё, если это массовое навешивание обработчика на формы, или если это вообще делегированный обработчик навешанный на боди, то как тогда предлагаете поступать (как его навешивать)? ручками авторА Вы знаете, что по спецификации HTML Вы не можете добавлять произвольные поля к элементам? Эта возможность официально была добавлена только в html5 и только для полей с префиксом "data-"? JQuery вроде до того как-то это эмулировать умела... Но опять же, всё завязывается на data (а вы просто с нарушением всех правил "cc" написали да ещё и на чистом js) а ты знаешь, что ты путаешь понятия? а ты знаешь что такое .data в jquery? а ты знаешь что такое обращение является правильным localStorage.xxx=7 свойства через точку это нормально. авторВ общем, я сначала не понял хитрости с завязкой на id, потому как в код не вникал, выискивая обращения к глобальным переменным. По сути Ваш код аморален и не соответствует правилам написания модульных систем, а также самой спецификации! тож самое можно сказать и про использование eval. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.11.2016, 19:31 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
вадя, Вы еврей? ) Я Вам вопросы задавал для того, что бы ответы услышать, а не получить в ответ список вопросов, некоторые из которых темы не касаются (вроде уникальности имён модулей... вы наверное никогда не видели сложных систем, которые делятся на модули, а те делятся на подмодули, а те состоят из компонентов... о какой уникальности имени речь я вообще не понимаю) Ладно. Беседу пора закрывать. Я понял, Вы будете упираться даже когда понимаете что неправы. Троллинг это или Ваши убеждения мне не понять, но совершать подвиг skyANA с разъяснением Вам Ваших ошибок на 14-ти страницах я не готов :)) Оставайтесь при своём мнении... Вы очень умный человек и нефиг нам с Вами спорить и что либо рассказывать. Удачи Вам ;) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.11.2016, 20:39 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.11.2016, 20:49 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
вадяПрограмёр, за использование eval - я б голову сворачивал, 1 это медленно, 2 безграмотно. 3 от ajax стоит отказываться , есть прекрасная замена websocket трафик жрет ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.11.2016, 20:58 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
MSSQLAndDotNetвадяПрограмёр, за использование eval - я б голову сворачивал, 1 это медленно, 2 безграмотно. 3 от ajax стоит отказываться , есть прекрасная замена websocket трафик жрет кто ? websocket???? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.11.2016, 21:07 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
вадяMSSQLAndDotNetпропущено... трафик жрет кто ? websocket???? Это же Лёшык, он с ПТ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.11.2016, 21:25 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
skyANAвадяУважаемый Програмёр пропущено... я не создал глобальную переменную, я просто добавил свойство для элемента к которому привязан данный обработчик. и есть польза можно назначать ссвойства , заключённые внутри объекта , но имеющие доступ снаружи. Хм, странное решение. А почему странное? Дак давайте рассмотрим ситуацию, когда кнопка - это кнопка Edit, при нажатии на которую с сервера подгружаются некие данные для редактирования и отображается "окно" для их редактирования. Кнопка Edit при этом пропадает. То есть типичная ситуация, когда полученную модель ну никак нельзя связать со свойствами DOM элемента. Ну и вообще мешать модель и с элементами представления - это же моветон :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.11.2016, 08:23 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
авторДак давайте рассмотрим ситуацию, когда кнопка - это кнопка Edit, при нажатии на которую с сервера подгружаются некие данные для редактирования и отображается "окно" для их редактирования. Кнопка Edit при этом пропадает. То есть типичная ситуация, когда полученную модель ну никак нельзя связать со свойствами DOM элемента. Ну и вообще мешать модель и с элементами представления - это же моветон :) странный подход... продолжу твою конструкцию есть кнопка Edit - нажали - загрузилось- кнопка Edit стала : невидимой/неактивной ( на выбор) - начали редактировать - появилась кнопка Save - отредактировали - нажали Save - сохранилось - кнопка Save стала : невидимой/неактивной ( на выбор)- кнопка Edit стала видимой, активной всё готово для следующего действа. что здесь странного? защита от случайного нажатия , когда много введено. вариантов много такой защиты- кому какой нравится ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.11.2016, 10:37 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
вадя, доказательства оппонента иногда лежат в другой плоскости - Архитектура Ты как раз на эти вопросы и не отвечаешь: skyANAНу и вообще мешать модель и с элементами представления - это же моветон :) Трудно доказать кодировщику 1-го класса что такое Модель и т.д. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.11.2016, 11:05 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
вадяавторДак давайте рассмотрим ситуацию, когда кнопка - это кнопка Edit, при нажатии на которую с сервера подгружаются некие данные для редактирования и отображается "окно" для их редактирования. Кнопка Edit при этом пропадает. То есть типичная ситуация, когда полученную модель ну никак нельзя связать со свойствами DOM элемента. Ну и вообще мешать модель и с элементами представления - это же моветон :) странный подход... продолжу твою конструкцию есть кнопка Edit - нажали - загрузилось- кнопка Edit стала : невидимой/неактивной ( на выбор) - начали редактировать - появилась кнопка Save - отредактировали - нажали Save - сохранилось - кнопка Save стала : невидимой/неактивной ( на выбор)- кнопка Edit стала видимой, активной всё готово для следующего действа. что здесь странного? защита от случайного нажатия , когда много введено. вариантов много такой защиты- кому какой нравится Ты мне скажи, где модель (данные) для редактирования то у тебя будут? В свойствах какой кнопки? :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.11.2016, 11:25 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
Petro123вадя, доказательства оппонента иногда лежат в другой плоскости - Архитектура Ты как раз на эти вопросы и не отвечаешь: skyANAНу и вообще мешать модель и с элементами представления - это же моветон :) Трудно доказать кодировщику 1-го класса что такое Модель и т.д. когда городят кучу не нужного, ради чего-то а потом находят оправдания этому кучей заумных слов - вот это моветон ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.11.2016, 11:32 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
вадя, ты мне скажи, где модель (данные) для редактирования то у тебя будут? В свойствах какой кнопки? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.11.2016, 11:36 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
авторТы мне скажи, где модель (данные) для редактирования то у тебя будут? В свойствах какой кнопки? :) рассмотрим абстрактный пример берём делаем кастомный элемент див, внутри которогоесть textarea, кнопки edit, save в ShadowRoot. нажимаем edit - загружается в textarea текст принажатии этой кнопки идёт обращение на сервер (как идентифицировать нужный кусок данных - оставим за кадром, это не суть) с сервера возвращается строка (данные) причем здесь кнопка и данные? или я тебя не понял? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.11.2016, 11:43 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
вадякогда городят кучу не нужного, ради чего-то а потом находят оправдания этому кучей заумных слов - вот это моветон твоё слабое место - Базовое образование по построению информационных систем. Это: шаблоны\MVC\Модель\Переиспользование кода . Удачи! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.11.2016, 11:50 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
вадяавторТы мне скажи, где модель (данные) для редактирования то у тебя будут? В свойствах какой кнопки? :) рассмотрим абстрактный пример берём делаем кастомный элемент див, внутри которогоесть textarea, кнопки edit, save в ShadowRoot. нажимаем edit - загружается в textarea текст принажатии этой кнопки идёт обращение на сервер (как идентифицировать нужный кусок данных - оставим за кадром, это не суть) с сервера возвращается строка (данные) причем здесь кнопка и данные? или я тебя не понял? Ты потерял нить, речь вот об этом твоём решении: 19847352 . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.11.2016, 11:52 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
авторЭто: шаблоны\MVC\Модель\Переиспользование кода. не надо гнаться за тем чего нет. мы уже это проходили на примере жигулей переиспользование мощностей, оборудования - результат плачевный. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.11.2016, 11:56 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
авторТы потерял нить, речь вот об этом твоём решении: 19847352. там просто пример доступа ко "внутренности" без eval. поддержка идеи Програмёра, о том что не надо городить глобальные переменные. есть кнопка и всё что снеё связано может быть только с ней как говорится - всё своё ношу с собой. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.11.2016, 12:01 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
вадяавторТы потерял нить, речь вот об этом твоём решении: 19847352. там просто пример доступа ко "внутренности" без eval. поддержка идеи Програмёра, о том что не надо городить глобальные переменные. есть кнопка и всё что снеё связано может быть только с ней как говорится - всё своё ношу с собой. У ТСа то, что приходит с сервера не связано с кнопкой, так что пример не валидный, а вредный. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.11.2016, 12:08 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
авторУ ТСа то, что приходит с сервера не связано с кнопкой, так что пример не валидный, а вредный. 1 пример -ответ Програмкру 2 в примере кнопка показана как объект , к которому привязывается "свойство" это свойство можно привязать и к объекту форм. показано как поймать рыбу - а как её приготовить и съесть ..... межет ещё и пожевать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.11.2016, 12:18 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
вадяавторЭто: шаблоны\MVC\Модель\Переиспользование кода. мы уже это проходили на примере жигулей переиспользование мощностей, оборудования - результат плачевный. ))) LOL ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.11.2016, 12:30 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
вадяавторУ ТСа то, что приходит с сервера не связано с кнопкой, так что пример не валидный, а вредный. 1 пример -ответ Програмкру 2 в примере кнопка показана как объект , к которому привязывается "свойство" это свойство можно привязать и к объекту форм. показано как поймать рыбу - а как её приготовить и съесть ..... межет ещё и пожевать? 1. Форум публичный, его кто-нибудь прочитает и притащит к себе в проект плохое решение. 2. Да в JavaScript к любому объекту можно привязать любое свойство, но это не значит, что надо пихать что попало куда попало :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.11.2016, 12:31 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
автор1. Форум публичный, его кто-нибудь прочитает и притащит к себе в проект плохое решение. 2. Да в JavaScript к любому объекту можно привязать любое свойство, но это не значит, что надо пихать что попало куда попало :) это только твоя оценка. важна идея, а реализация под конкретное - дело каждого своё. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.11.2016, 12:38 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
вадяавтор1. Форум публичный, его кто-нибудь прочитает и притащит к себе в проект плохое решение. 2. Да в JavaScript к любому объекту можно привязать любое свойство, но это не значит, что надо пихать что попало куда попало :) это только твоя оценка. важна идея, а реализация под конкретное - дело каждого своё. Не только его, если что ;) Из беседы видно, что и я и Petro123 солидарны в этом вопросе со skyANA :) Оффтоп: вадя, не знаю как Вы, а я склонен признавать авторитет людей, которые обладают большими знаниями и/или умениями чем я. Вот скажу я сейчас "оно зелёное", а мне skyANA ответит "Нет же, оно красное!"... Я не начну спорить, а побегу по интернету в поисках систем проверки цветовосприятия, что бы убедиться, что я не дальтоник и что разные оттенки и полутона вижу правильно . И только после этого, возможно, постараюсь поправить собеседника в его ошибке, но только разрушая его аргументацию, а не навязывая свою, как делаете Вы! Когда говоришь "так будет хуже", а Вы в ответ "но иногда бывает же, что так лучше"! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.11.2016, 13:41 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
вадяавтор1. Форум публичный, его кто-нибудь прочитает и притащит к себе в проект плохое решение. 2. Да в JavaScript к любому объекту можно привязать любое свойство, но это не значит, что надо пихать что попало куда попало :) это только твоя оценка. важна идея, а реализация под конкретное - дело каждого своё. Реальный пример привести можешь того, когда разумно что-то, полученное в результате асинхронного вызова, запихнуть в свойства DOM элемента? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.11.2016, 13:41 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
Реальный пример привести можешь того, когда разумно что-то, полученное в результате асинхронного вызова, запихнуть в свойства DOM элемента? для правильного ответа прошу уточнить , что ты подразумеваешь под асинхронным выводом? это ворос не для флуда. почитать что написано я и сам могу, мне нужна твоя трактовка, чтоб понять что тебя интерсует в таком, странном для меня , вопросе ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.11.2016, 13:52 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
вадяРеальный пример привести можешь того, когда разумно что-то, полученное в результате асинхронного вызова, запихнуть в свойства DOM элемента? для правильного ответа прошу уточнить , что ты подразумеваешь под асинхронным выводом? это ворос не для флуда. почитать что написано я и сам могу, мне нужна твоя трактовка, чтоб понять что тебя интерсует в таком, странном для меня , вопросе Я написал не вывод, а вызов. Например асинхронный вызов сервера. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.11.2016, 14:20 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
авторЯ написал не вывод, а вызов. Например асинхронный вызов сервера. моя опечатка, но вопрс остался ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.11.2016, 14:24 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
вадяавторЯ написал не вывод, а вызов. Например асинхронный вызов сервера. моя опечатка, но вопрс остался Например асинхронный вызов сервера. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.11.2016, 18:31 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
ну хорошо. я использую websocket, который обеспечивает полный дуплекс обмена сообщениями. у меня есть в браузере две таблицы одна для операций юзера - ввод, и прочее. вторая отображает определённые результаты необходимой обработки. юзер ввёл данные - они улетеле на сервер серверное приложение получило их -сформировало данные для хранимки, запустило хранимку - результат множественный результсет - два набора данных получив певый набор формирую HTML строку отправляю её клиенту, получаю второй результсет формирую вторую строку, отправляю клиенту. клиент получив превую строку просто вставляет её в DOM , в зависимости от требования либо .append , либо innerHTML. приходит второй результат так же, но в другое место. так же можно послать и на другую владку и другому клиенту. есть другой вариант - простой ввод числа - отправка на сервер, запись в базу, нет необходимости отправлять ответ клиенту. следующий вариант - необходимо иметь на клиенте очень оперативную информацию , причём изменения не частые, при стандарных решениях - клиенты должны запрашивать , при ws как только произошли изменения - рссылка всем клиентам. также при отправке команды с клиента на сервер на длительную обработку чего-либо, допустим минут на 5, клиент может продолжать работать отправлять данные с этой страницы , получать данные. в тоже время длительный процесс может отправлять клиенту состояние обработки, формировать прогрессбар, отображать готовые данные. надеюсь нормально рассказал об асснхронном вызове сервера? пока чисто теоритически, но над этим работаю, в той же хранимке вызывать UDF, которая отправит что-то клиенту . не разово а цикле при обработке курсора. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.11.2016, 19:31 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
вадя, спасибо конечно, но я не про это спрашивал. Но с другой стороны, раз у Вас нет валидного примера, то остаётся что? То, что Ваш код выше в этом топике - вредный :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.11.2016, 19:39 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
skyANAвадя, спасибо конечно, но я не про это спрашивал. Но с другой стороны, раз у Вас нет валидного примера, то остаётся что? То, что Ваш код выше в этом топике - вредный :) вот поэтому я и просил уточнить, валидного примера чего - описанного ? код описанный - вредный для чего? он рабочий, вредность в нем в чём? только без громких слов. насчёт eval нет вопроса про вредность - погугли eval is evil что Прорамеру не понравилось присвоение через точку свойства? то это чисто его предубеждение. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.11.2016, 19:52 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
вадяskyANAвадя, спасибо конечно, но я не про это спрашивал. Но с другой стороны, раз у Вас нет валидного примера, то остаётся что? То, что Ваш код выше в этом топике - вредный :) вот поэтому я и просил уточнить, валидного примера чего - описанного ? код описанный - вредный для чего? он рабочий, вредность в нем в чём? только без громких слов. насчёт eval нет вопроса про вредность - погугли eval is evil что Прорамеру не понравилось присвоение через точку свойства? то это чисто его предубеждение. Мне что, заного всё переписывать? :) Что не понятно-то? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.11.2016, 20:11 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
авторМне что, заного всё переписывать? :) Что не понятно-то? кроме слов про модель я не видел. этого явно не достаточно для называния кода вредным. я прошу более развенутого ответа. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.11.2016, 20:14 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
вадяавторМне что, заного всё переписывать? :) Что не понятно-то? кроме слов про модель я не видел. этого явно не достаточно для называния кода вредным. я прошу более развенутого ответа. И что в словах про модель не понятного? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.11.2016, 20:17 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
вадя, давайте начнём с простого. Вы можете привести реальный пример, когда пользователь нажал на кнопку, запрос ущёл на сервер, сервер вернул какие-то данные и эти данные зачем-то были записаны как свойство кнопки? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.11.2016, 20:20 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
авторВы можете привести реальный пример, когда пользователь нажал на кнопку, запрос ущёл на сервер, сервер вернул какие-то данные и эти данные зачем-то были записаны как свойство кнопки? ну наконец-то разговор о конкретике. самое главное в том коде (если речь идёт о 19847352 ) ничего такого нет и в помине. там при клике добавляется свойство, которое будет достпно с наружи, и с помощью таймаута оно запускается. таймаут нужен для демонстрации, что обработчик закончил работу, а функция будет вызвана. как бы снаружи. и это очень даже живучий вариант. в применении к ws. нажатие на кнопку отправляет в обработчике данные на сервер, а обработчик ответа находится там же. модульность в полном виде. кнопка как элемент на форме и обработчик полного цикла в одном объекте. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.11.2016, 20:37 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
вадяавторВы можете привести реальный пример, когда пользователь нажал на кнопку, запрос ущёл на сервер, сервер вернул какие-то данные и эти данные зачем-то были записаны как свойство кнопки? ну наконец-то разговор о конкретике. Да я и раньше это спрашивал, другими словами: 19850706 вадясамое главное в том коде (если речь идёт о 19847352 ) ничего такого нет и в помине. там при клике добавляется свойство В чём смысл данного свойства можете толком объяснить? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.11.2016, 20:42 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
вадякнопка как элемент на форме и обработчик полного цикла в одном объекте. А о практике отделения представления от модели Вы слышали? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.11.2016, 20:46 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
авторВ чём смысл данного свойства можете толком объяснить? данное свойство просто пример. тэтот код Код: javascript 1. 2. 3. 4. 5. внутри обработчика , т.е. нет дополнительного внешнего кода, за что ратует Програмер ( и я его в этом поддерживаю) в место console.log('ooooooooooo'); можно написать всё что угодно а входные параметры (которых в примере нет) входные данные могут представлять собой html строку, которые можно вставить в dom, в нужном месте я правильно понял вопрос и доходчиво ответил? если что-то не так - попробую ещё раз ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.11.2016, 20:57 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
skyANAвадякнопка как элемент на форме и обработчик полного цикла в одном объекте. А о практике отделения представления от модели Вы слышали? это совершенно другой подход ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.11.2016, 21:04 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
вадяавторВ чём смысл данного свойства можете толком объяснить? данное свойство просто пример. тэтот код Код: javascript 1. 2. 3. 4. 5. внутри обработчика , т.е. нет дополнительного внешнего кода, за что ратует Програмер ( и я его в этом поддерживаю) в место console.log('ooooooooooo'); можно написать всё что угодно а входные параметры (которых в примере нет) входные данные могут представлять собой html строку, которые можно вставить в dom, в нужном месте я правильно понял вопрос и доходчиво ответил? если что-то не так - попробую ещё раз:) Я прекрасно понимаю данный код и где он находится. Вопрос: зачем пихать в DOM элемент window[this.id] объект { ddd: function () { ... } }? Просто потому что это первое, что пришло в голову? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.11.2016, 21:05 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
вадяskyANAпропущено... А о практике отделения представления от модели Вы слышали? это совершенно другой подход ... Конечно совершенно другой. Подход, при котором в DOM элементы не запихивают то, что к ним не относится :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.11.2016, 21:07 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
авторПодход, при котором в DOM элементы не запихивают то, что к ним не относится :) элемент кнопка , такой же объект как и любой другой . и к нему можно обращаться по его id, как к простой переменной и так же добавлять "свойства" ни у кого не возникает вопрос куда заносятся данные jquery .data? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.11.2016, 21:27 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
вадяавторПодход, при котором в DOM элементы не запихивают то, что к ним не относится :) элемент кнопка , такой же объект как и любой другой . и к нему можно обращаться по его id, как к простой переменной и так же добавлять "свойства" То есть таки выходит что это просто первое, что пришло в голову. Ясно. На это я уже писал выше: "Да в JavaScript к любому объекту можно привязать любое свойство, но это не значит, что надо пихать что попало куда попало". вадяни у кого не возникает вопрос куда заносятся данные jquery .data? Повторю и для jQuery.data(): "Да jQuery.data() позволяет хранить произвольные данные, связанные с элементом, но это не значит, что надо пихать что попало куда попало". :) Кстати отмечу, что хранить произвольные данные, связанные с элементом - это не тоже самое, что пихать их в свойства этого элемента. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.11.2016, 21:41 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
авторКстати отмечу, что хранить произвольные данные, связанные с элементом - это не тоже самое, что пихать их в свойства этого элемента. и что? где сказано, что это нельзя? просто потому, что ты этого не делал? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.11.2016, 21:56 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
skyANA, вот ведь что понты и не знание делают я вот сделал такое Код: javascript 1. и ведь нашёл куда прячет jquery это. и прям туда , куда и я. т.е. ему можно, а мне - низя? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.11.2016, 22:22 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
вадят.е. ему можно, а мне - низя? - ему можно, т.к. он не создаёт приложение. Это низкоуровневая библиотека. Пиши библиотеку, а в прикладной код для создания ИС не лезь. Ты собрался ИС без прокладок на ассемблере писать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.11.2016, 23:23 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
вадянажатие на кнопку отправляет в обработчике данные на сервер, а обработчик ответа находится там же. обработчик ответа - свойство кнопки? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.11.2016, 23:42 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
Petro123, ну ты меня удивляешь, а для чего всё это добавляют в js? для чего template, shadowRoot. создание собственных элементов? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2016, 03:28 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
Изопропил, а кто мешает это сделать? jquery это сделал. пусть не в кнопке, но в своем объекте. обработчик это просто логическое название, по сути это просто объект, функция, выполняющая нужные мне функции. что в этом такого? принять это религия не позволяет? знания? нет команды с выше? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2016, 03:38 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
Petro123, а смысл писать библиотеку? мне надо в данном , конкретном месте выполнить конкретное действие. зачем городить лишний код. повторное использование? применение знаний предметной области уже вызывает неприятие, потому как не старшие товарищи не сказали об этом,? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2016, 03:46 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
авторВопрос: зачем пихать в DOM элемент window[this.id] объект { ddd: function () { ... } }? а где ты увидел, что в dom запихнут элемент? авторКонечно совершенно другой. Подход, при котором в DOM элементы не запихивают то, что к ним не относится :) ты вообще в курсе о чем ты говоришь? что запихивается в дом? и что не относится к ним? а если данные относятся? авторвадя, спасибо конечно, но я не про это спрашивал. так уточни о чем ты спрашивал? автор сервер вернул какие-то данные и эти данные зачем-то были записаны как свойство кнопки? а если я то что вернул сервер запишу в $('#кнопка').data('xxxx', data_from_server) - это будет нормально? а если я запишу так var zzz=0; ..... zzz=data_from_server; это будет нормально? причём Код: javascript 1. причём таким образом можно выбрать элементы по классу а это Код: javascript 1. 2. 3. 4. 5. присвоит "обработчик" конкретному элементу по его id. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2016, 05:46 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
вадя, Ты спросил почему jQuery можно, а тебе нельзя. Я ответил что у них библиотека. Ты не понял, твои проблемы. Начни с вопроса почему земля круглая. Или почему глобальные зло. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2016, 08:57 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
вадячто в этом такого? обычный лапшекод в "дельфийском" стиле - намешан транспорт и UI ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2016, 09:33 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
вадяskyANA, вот ведь что понты и не знание делаютТы наконец отмёл свои понты, осознал своё незнание и разобрался с jQuery.data()? Похвально. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2016, 09:37 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
вадяавторКстати отмечу, что хранить произвольные данные, связанные с элементом - это не тоже самое, что пихать их в свойства этого элемента. и что? где сказано, что это нельзя? просто потому, что ты этого не делал? Плохой код он и возникает от того, что его можно писать, что его можно притащить из интернета и потом говорить, что так на вот том-то форуме предложили :) И кто сказал, что я не писал плохой код? Писал. Но стараюсь так больше не делать. Обсуждаю с коллегами, объясняю, почему выбран именно такой подход, в чём его плюсы. А ты можешь объяснить? Ведь нет. Бе-ме, jQuery.data... И в итоге не найдя аргументы, ты перешёл на личности. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2016, 09:41 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
вадяИзопропил, а кто мешает это сделать? jquery это сделал. пусть не в кнопке, но в своем объекте. А нука покажи, где в jQuery так сделали? Там метод data() используется для хранения ссылок на обработчики тех событий, что связаны с элементами, а не на обработчики ответа сервера. Или ты и в этом не видишь разницу? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2016, 09:46 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
вадяавторВопрос: зачем пихать в DOM элемент window[this.id] объект { ddd: function () { ... } }? а где ты увидел, что в dom запихнут элемент? Жжешь :) Для начала я выделил правильный поряд слов в своём предложении. Плюс давай из твоих кусков кода сделаем работающий пример и посмотрим: Код: html 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. Что выведет alert? Следующее: [object HTMLInputElement]. Что такое HTMLInputElement? Читаем документацию: https://msdn.microsoft.com/ru-ru/library/hh869710(v=vs.85).aspx HTMLInputElement objectImplements the document object model (DOM) representation of the input element. Есщё вопросы о DOM элементах есть? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2016, 09:56 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
вадяавторвадя, спасибо конечно, но я не про это спрашивал. так уточни о чем ты спрашивал? автор сервер вернул какие-то данные и эти данные зачем-то были записаны как свойство кнопки? а если я то что вернул сервер запишу в $('#кнопка').data('xxxx', data_from_server) - это будет нормально? а если я запишу так var zzz=0; ..... zzz=data_from_server; это будет нормально? Я уж и не знаю, я вроде простыми словами писал. Давай попробуем по-твоему. А если я то, что вернул серевер, запишу в $('body').data('xxx', data_from_server) - это будет нормально? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2016, 10:05 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
skyANA, авторЧто выведет alert? Следующее: [object HTMLInputElement]. Что такое HTMLInputElement? Читаем документацию: https://msdn.microsoft.com/ru-ru/library/hh869710(v=vs.85).aspx он это и должен выдать. после таки глупых выступлений, с тобой бестолку разговаривать.. любой HTMLInputElement - это объект ты выводишь Объект , а хочешь увидеть что???? не позорился б ты показал просто безграмотность у надеялся у тебя чему-то научиться , а ты даже азов не знаешь .... авторА если я то, что вернул серевер, запишу в $('body').data('xxx', data_from_server) - это будет нормально? это будет нормально. хотя с твоими знаниями - ..... потому как body - это тот же объект. ты знаешь что такое ОБЪЕКТ в javascript? ну ты меня огорчил........ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2016, 13:36 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
skyANAвадяИзопропил, а кто мешает это сделать? jquery это сделал. пусть не в кнопке, но в своем объекте. А нука покажи, где в jQuery так сделали? Там метод data() используется для хранения ссылок на обработчики тех событий, что связаны с элементами, а не на обработчики ответа сервера. Или ты и в этом не видишь разницу? если ты не можешь понять приведённый код, и картинку - ваще п....ц ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2016, 13:37 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
вадяskyANA, авторЧто выведет alert? Следующее: [object HTMLInputElement]. Что такое HTMLInputElement? Читаем документацию: https://msdn.microsoft.com/ru-ru/library/hh869710(v=vs.85).aspx он это и должен выдать. после таки глупых выступлений, с тобой бестолку разговаривать.. любой HTMLInputElement - это объект ты выводишь Объект , а хочешь увидеть что???? не позорился б ты показал просто безграмотность у надеялся у тебя чему-то научиться , а ты даже азов не знаешь .... авторА если я то, что вернул серевер, запишу в $('body').data('xxx', data_from_server) - это будет нормально? это будет нормально. хотя с твоими знаниями - ..... потому как body - это тот же объект. ты знаешь что такое ОБЪЕКТ в javascript? ну ты меня огорчил........ Знаешь, ты написал сейчас полную чушь. Я тебе на пальцах показал, что твой window[this.id] - это DOM элемент. Ты будешь спорить с тем, что window[this.id] - это DOM элемент, или согласишься? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2016, 14:16 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
вадяskyANAпропущено... А нука покажи, где в jQuery так сделали? Там метод data() используется для хранения ссылок на обработчики тех событий, что связаны с элементами, а не на обработчики ответа сервера. Или ты и в этом не видишь разницу? если ты не можешь понять приведённый код, и картинку - ваще п....ц Ты читаешь, что я пишу? Как реализовн метод jQuery.data() я в курсе. Покажи другое, а именно: где и кем метод jQuery.data() используется для сохранения не обработчиков событий, а для сохранения обработчиков ответа сервера. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2016, 14:18 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
вадя, слушай, а может ты английский не понимаешь? Если так, то могу перевести тот кусок из документации, что процитировал выше. Может тогда ты что-то сообразишь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2016, 14:21 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
вадяавторА если я то, что вернул серевер, запишу в $('body').data('xxx', data_from_server) - это будет нормально? То есть всё опять свелось к тому, что не важно в какой объект, что пихать. Раз в JavaScript - это можно, то ты считаешь надо пихать и это нормально. Спасибо, твоя точка зрения ясна. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2016, 14:24 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
авторокажи другое, а именно: где и кем метод jQuery.data() используется для сохранения не обработчиков событий, а для сохранения обработчиков ответа сервера. ты глупый или изображаешь глупого? jQuery.data() используется для сохранения объектов а что из себя представляет объект - это другое дело авторсохранения обработчиков ответа сервера. ты оказывается и в коде не разбираешься обработчик ответов с сервера - это простая функция (тот же объект) а названа она мной так - потому что логическая роль у неё такая. потому что я так захотел, чтоб ответ с сервера вызвал именно её. и именно ответ на нажатие данной кнопки. я могу это сделать для любого элемента. и могу вызвать любую функцию. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2016, 14:46 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
вадя, ты это не пытайся уйти в сторону. Ты таки понял, что window[this.id] - это DOM элемент? Или не понял? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2016, 14:47 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
skyANA, и это и объект, а раз объект то все что можно делать с обеъктом - можно делать с ним ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2016, 14:55 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
вадяобработчик ответов с сервера - это простая функция (тот же объект) Спасибо, кэп! А пример-то будет реальный того, когда обработчик ответов с сервера с определённой целью пихается в свойства DOM элемента? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2016, 14:56 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
вадяskyANA, и это и объект, а раз объект то все что можно делать с обеъктом - можно делать с ним Спасибо, кэп два раза :) А теперь раскрой следующие свои вопросы 19853266 : 1. а где ты увидел, что в dom запихнут элемент? 2. ты вообще в курсе о чем ты говоришь? что запихивается в дом? и что не относится к ним? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2016, 14:59 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
К чему ты их вообще задал-то, раз понимаешь, что window[this.id] - это DOM элемент? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2016, 15:04 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
вадя, я написал следующее: skyANAВопрос: зачем пихать в DOM элемент window[this.id] объект { ddd: function () { ... } }? А ты прочитал это так: skyANAВопрос: зачем пихать в DOM элемент window[this.id]? Верно? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2016, 15:08 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
Хорошо, наверное мой косяк. Хотя если читать вопрос полностью, то я не понимаю, как его можно не так понять. Но перефразирую: зачем пихать объект { ddd: function () { ... } } в элемент window[this.id]? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2016, 15:13 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
вадя, кстати обрати внимание, что я назвал { ddd: function () { ... } } объектом задолго до того, как тебе приспичило прочитать мне лекцию о том, что такое объекты в JavaScript :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2016, 15:15 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
вадяskyANA, и это и объект, а раз объект то все что можно делать с обеъктом - можно делать с ним Можно - не значит надо. Какой запущенный случай. Кстати, вадя, ты не заметил, что в диалоге со skyANA ты уже в самый низ по пирамиде скатился? Ваш диалог уже даже не смешно читать, а скорее грустно и обидно. Жаль беседа не realtime... На этом диалоге можно было бы поставить точку одной фразой "Коллеги, назовите любых 3 паттерна проектирования, дайте их краткое описание и назовите преимущества каждого из подходов". Их уже придумали несколько десятков, каждый из которых позволяет упростить решение той или иной задачи (в зависимости от требований)... Но я уверен, что с лёту ты бы даже и трёх не вспомнил, потому что очень вероятно что ничего о них не читал. Не беда... я тоже был таким же самоуверенным упёртым самоучкой первых 3 года работы :)) Пока не понял того, что каждый новый проект - это очередной велосипед и что мне в каждом проекте приходится по новой писать то, что уже было ранее написано мной же, просто под новую структуру не подошло. Вот тогда я и задался вопросом как это делают другие и почему у других разработки какой-то мелочи занимает 10 часов, а я её только на протяжении 4 часов "придумываю" (структуру, схемы вызовов и т.д.) И кстати до осознания этого факта я тоже считал что просто невозможно написать такой код, что бы его можно было потом повторно использовать в другом проекте не переписывая половину. Просто потому, что у меня до этого ещё ни разу не получалось такого. А если и получалось, то зачастую случайно или благодаря менеджеру-продажнику, который в ущерб бизнесу клиента убеждал его, что ему нужен именно такой функционал, который у нас уже написан (разумеется не сообщая ему об "уже написан"). У тебя явно такой же случай, а потому рекомендую углубиться в паттерны проектирования и почитать хотя бы про основные из них. Возможно поймёшь в чём сейчас не прав. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2016, 15:17 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
skyANAвадя, я написал следующее: skyANAВопрос: зачем пихать в DOM элемент window[this.id] объект { ddd: function () { ... } }? А ты прочитал это так: skyANAВопрос: зачем пихать в DOM элемент window[this.id]? Верно? нет неверно, window[this.id] это не запихивание , а обращене ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2016, 15:28 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
skyANAХорошо, наверное мой косяк. Хотя если читать вопрос полностью, то я не понимаю, как его можно не так понять. Но перефразирую: зачем пихать объект { ddd: function () { ... } } в элемент window[this.id]? это правильный вопрос. чтоб не организовывать новый глобальный объект и текст этого объекта (функции) находится внутри обработчика. можно аналогичное сделать и вне обработчика jquery, но тогда надо знать имя id этого ообъекта. внутри это обеспечивает this. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2016, 15:39 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
Програмёр, я соглашусь про пирамиду, ксожалению, только таким методом мне удаётся его удалить от обвинений меня в чем то. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2016, 15:42 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
вадяskyANAвадя, я написал следующее: пропущено... А ты прочитал это так: пропущено... Верно? нет неверно, window[this.id] это не запихивание , а обращене Что неверно? Мы уже выяснили, что window[this.id] - это DOM элемент. Я спрашиваю: как ты до этого понял мой вопрос? Своими словами можешь сказать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2016, 16:04 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
вадяskyANAХорошо, наверное мой косяк. Хотя если читать вопрос полностью, то я не понимаю, как его можно не так понять. Но перефразирую: зачем пихать объект { ddd: function () { ... } } в элемент window[this.id]? это правильный вопрос. чтоб не организовывать новый глобальный объект То есть решить проблему через костыль. Спросишь, почему костыль? И я отвечу: когда ты что-то добавляешь в объект, то ты расширяешь его. И когда ты расширяешь объект свойствами и функционалом, к нему не относящимися, то это явно костыль. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2016, 16:10 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
Да и вообще данную логику следует вынести из обработчика события на кнопку в отдельный "класс". Потому как а. разные элементы управления на странице могут вызывать эту логику: кнопки, пункты контекстного меню, пункты тулбара; б. писать логику в обработчиках - это лапшекод и моветон. Что касается глобальных объектов и как вызвать определённый метод согласно строке, что пришла с сервера, то считаю, что необходимо вынести это в некий "класс" Dispatcher и не использовать названия методов, а использовать названия неких событий/экшенов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2016, 16:16 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
skyANAДа и вообще данную логику следует вынести из обработчика события на кнопку в отдельный "класс". Потому как а. разные элементы управления на странице могут вызывать эту логику: кнопки, пункты контекстного меню, пункты тулбара; б. писать логику в обработчиках - это лапшекод и моветон. Что касается глобальных объектов и как вызвать определённый метод согласно строке, что пришла с сервера, то считаю, что необходимо вынести это в некий "класс" Dispatcher и не использовать названия методов, а использовать названия неких событий/экшенов. skyANA, напиши пожалуйста простой пример иллюстрирующий описанный тобой подход. Не уверен что правильно тебя понял :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2016, 17:01 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
авторВопрос: зачем пихать в DOM элемент window[this.id]? вопрос понят так: есть дерево DOM, и зачем в это дерево ещё запихивать(добавлять) элемент window[this.id] window[this.id] - это элемент DOM, и в тоже время это объект. скажем так: с предопределёнными свойствами авторТо есть решить проблему через костыль. Спросишь, почему костыль? И я отвечу: когда ты что-то добавляешь в объект, то ты расширяешь его. И когда ты расширяешь объект свойствами и функционалом, к нему не относящимися, то это явно костыль. по навешиванию ярлыков надо быть осторожнее когда ты что-то добавляешь в объект, то ты расширяешь его. согласен полностью. И когда ты расширяешь объект свойствами и функционалом а вот тут полностью не согласен почему ты считаешь что добавленный функционал не относится к нему? а я считаю что относится. он расширяет его . jquery ведь делает тоже самое с .data, только чрез своё место. jquery сначала добавляет свойство со случайным именем наш_эелемент.jquerynnnnnnnnn (где nnnnn случайное число), а уж потом юзерское свойство(объект). jquery.data - считается нормально , а я добавляю - это костыль.? отличие моего, что я могу добавить объект , который является функцией. и вызвать его выполнение. авторДа и вообще данную логику следует вынести из обработчика события на кнопку в отдельный "класс". Потому как а. разные элементы управления на странице могут вызывать эту логику: кнопки, пункты контекстного меню, пункты тулбара; б. писать логику в обработчиках - это лапшекод и моветон. я б не стал так категорично. у меня логика построена так, что ответ от сервера и его обработка относится только к тому для чего предназначена, но если у меня несколько однотипных элементов, допустим ячеек в таблице, то вот этот обработчик Код: javascript 1. я повешу на класс, но у всех ячеек будет своё имя , допустим celltr_td (где tr номер стрроки, td- номер столбца) и мой "обработчик ответа сервера" будет привязан к конкретной ячейке. и произведёт действие только для этой ячейки. авторЧто касается глобальных объектов и как вызвать определённый метод согласно строке, что пришла с сервера, то считаю, что необходимо вынести это в некий "класс" Dispatcher и не использовать названия методов, а использовать названия неких событий/экшенов. у меня и сделано нечто подобное, только использовать названия неких событий/экшенов. продумано и реализовано и проверено не одним проектом идея позаимствована с хабра, только сильно доработана. автора. разные элементы управления на странице могут вызывать эту логику: кнопки, пункты контекстного меню, пункты тулбара; соглашусь с этим, но только потому, что ты не вкусил прелестей того, что можно добиться, то что я написал про асинхронность - маленькая часть этого. а логика в обработчиках очень простая в 90% - приходит html строка и просто вставляется куда надо. это самое быстрое. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2016, 17:23 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
вадя, WebSocket.onmessage как у тебя устроен? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2016, 17:31 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
Изопропилвадя, WebSocket.onmessage как у тебя устроен? ОООООООООООООО!!! ВОПРОС В ТОЧКУ!!!!! на сервере или на клиенте? (сервер java, если что) тут вся магия :) поэтому с ответом спешить не буду, сначала уточню. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2016, 18:00 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
вадя, на клиенте ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2016, 18:01 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
вадя, Ты там писал что то про гениальный подход. Скажи, кому нужны недописаные картины или скульптуры с одной рукой? Т.е. пиши ты в свой Дом что угодно, но придется оформить это в законченный продукт. Т.е. библиотеку jQuery3. Ты явно тщеславен и хочешь признания твоего ноухау. А поступаешь как помешаный т.к. у тебя даже демки нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2016, 19:03 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
Изопропил, начинается всё с "протокола" идея взята с хабра, моя доработка. первая часть - команда. она отделена от остальной части разделителем , я использую | команда представляет собой имя функции , которая и будет обработывать данные. из-за определённых условностей имена формализированы до полной абстакции : xxxnn, yyynn и им подобные (где nn цифры) , буквы обозначают причастность к странице - прошу не пинать, это обеспечивает некоторые преимущества, которые перекрывают многие недостатки. после разделителя -идут данные - тут мой "json" для экономии трафика стандарный не используется, передаваемые данные разделены своим разделителем, он должен быть любым символом, который не встречается в данных к примеру я использую ® - его код Alt0174, иногда используется прстая запятая для разделения по разделителю - комада split. из моей практики - длина данных составляет до 10 полей, это самый редкий размер. Код: 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. некоторые незначительные тонкости описании пропущены ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2016, 19:17 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
вадя, Т.е. это твой протокол поверх сокета? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2016, 19:26 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
Petro123вадя, Ты там писал что то про гениальный подход. Скажи, кому нужны недописаные картины или скульптуры с одной рукой? Т.е. пиши ты в свой Дом что угодно, но придется оформить это в законченный продукт. Т.е. библиотеку jQuery3. Ты явно тщеславен и хочешь признания твоего ноухау. А поступаешь как помешаный т.к. у тебя даже демки нет. я не тщеславен, признания я не хочу, просто если кому-то понравится - буду рад помочь. я наслаждаюсь возможностями и не против поделиться. насчет интегрирования - это дело каждого, я пока не нашёл как это можно унифицировать, возможно мало знаний, возможно слишком различные условия применения я не говорю, что закочено, но работает, просто с каждым проектом появляются новые знания и зафиксировать не получается... улучшается и улучшается. насчет гениальности не мне судить...... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2016, 19:32 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
Petro123вадя, Т.е. это твой протокол поверх сокета? нет по ws просто передаётся поток данных, двоичных или текстовых а как эти данные организованы - это дело вкуса и решаемой задачи, ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2016, 19:34 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
вадя, А тогда что такое Протокол? Там тоже передается.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2016, 19:42 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
Petro123вадя, А тогда что такое Протокол? Там тоже передается.... ну я ж в кавычках написал протокол - так протокол ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2016, 19:48 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
вадя, А чем http протокол не устроил, с передачей по нему json или jsonp? Разумеется websocket бывает удобен, если речь идёт об незамедлительной актуализации данных (тем что не отпускает соединение и ждёт сообщения от сервера). Но он же держит соединение открытым?! Не жрёт ли это лишние ресурсы? И насколько оправдан такой подход во всех случаях, где не требуется моментальное обновление данных на клиенте, я вижу в этом подходе только лишние движения, занимание лишних ресурсов и, как я понимаю, лишних портов :) С вэбсокетами ещё ни разу не работал (только игрался разок, что бы вникнуть в то, как их пользовать), потому что ajax зачастую было достаточно. Разрекламируйте мне, пожалуйста, эту технологию в случаях, когда мне не нужна ежесекундная актуализация данных на клиенте :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2016, 20:00 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
авторА чем http протокол не устроил, с передачей по нему json или jsonp? Разумеется websocket бывает удобен, если речь идёт об незамедлительной актуализации данных (тем что не отпускает соединение и ждёт сообщения от сервера). Но он же держит соединение открытым?! в принципе это возможно , по тому же ajax возможно организовать такое. но это несколько завышенный трафик, обязательный ответ на запрос, не возможность инициировать передачу сервером. авторНе жрёт ли это лишние ресурсы? И насколько оправдан такой подход во всех случаях, где не требуется моментальное обновление данных на клиенте, я вижу в этом подходе только лишние движения, занимание лишних ресурсов и, как я понимаю, лишних портов :) лишних ресурсов не потребляет. лишних портов не занимает. только один. всё зависит от задачи , если не требуется - можно обойтись и ajax. но попробовать стоит. авторС вэбсокетами ещё ни разу не работал (только игрался разок, что бы вникнуть в то, как их пользовать), потому что ajax зачастую было достаточно. Разрекламируйте мне, пожалуйста, эту технологию в случаях, когда мне не нужна ежесекундная актуализация данных на клиенте :) я уже писал, но повторюсь, -полнейшая асинхронность, -на один запрос возможны несколько ответов, -возможны запросы без ответов, даже пустых/формальных -возможность передачи сервером без запроса с клиента -клиентом может быть как браузе, так и андроид, или другой клиент с ws -есть обработка обрывов. -поддержка шифрования - wss -возможность передачи текстовых/бинарных данных ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2016, 20:29 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
json или jsonp когда передаётся 2-3 числовых поля они избыточны по трафику, хотя счас это не очень актуально, когда данные с базы передаются клиенту строку можно сформировать одной командой (mysql) CONCAT_WS(separator string, str1 string, str2 string,...) и результат отправть клиенту. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2016, 20:38 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
вадяпротокол - так протокол вадяя пока не нашёл как это можно унифицировать, да ты и не хочешь вот уже как лет 5. Мне копипастить твоих 30 строк в каждый проект что ли? Это называется - вывали кучу Г.....Что хотите то и делайте. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2016, 20:50 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
авторда ты и не хочешь вот уже как лет 5. Мне копипастить твоих 30 строк в каждый проект что ли? Это называется - вывали кучу Г.....Что хотите то и делайте. это код, в котором показано как это работает называй как хочешь, все поняли, что ты по дну пирамиды любишь ходить ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2016, 21:01 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
Програмёркак я понимаю, лишних портов :) совершенно необязательно, nginx, например, легко справляется и одним портом ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2016, 21:05 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
Petro123, да 5 лет, я наслаждаюсь, и то что так осталось, лишь подтверждает, что даже в таком состояниии это стабильно работает было б лучше , если б кто-то помог усовершенствовать, трудно вариться в собственном соку, трудно пробить закостенелось взглядов. может такое пробудит интерес ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2016, 21:07 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2016, 21:07 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
вадяпередаваемые данные разделены своим разделителем, он должен быть любым символом, который не встречается в данных к примеру я использую ® - его код Alt0174 Протокол (без кавычек) сильно напоминает протоколы передачи по медленным телефонно-телеграфным каналам, а в таблице ASCII достаточно служебных символов, например Код: plaintext 1. 2. 3. 4. 5. 6. Кстати, какая кодировка используется? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2016, 21:31 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
вадяя уже писал, но повторюсь, -полнейшая асинхронность, -на один запрос возможны несколько ответов, -возможны запросы без ответов, даже пустых/формальных -возможность передачи сервером без запроса с клиента -клиентом может быть как браузе, так и андроид, или другой клиент с ws -есть обработка обрывов. -поддержка шифрования - wss -возможность передачи текстовых/бинарных данных честно говоря, всё это реализуется и без WebSocket(возможны запросы без ответов, даже пустых/формальных - это несущественно, в TCP/IP внутри квитирование всё равно имеет место) захотелось освоить и применить WebSocket - замечательно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2016, 21:38 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
Изопропилвадяпередаваемые данные разделены своим разделителем, он должен быть любым символом, который не встречается в данных к примеру я использую ® - его код Alt0174 Протокол (без кавычек) сильно напоминает протоколы передачи по медленным телефонно-телеграфным каналам, а в таблице ASCII достаточно служебных символов, например Код: plaintext 1. 2. 3. 4. 5. 6. Кстати, какая кодировка используется? это все верно, просто я его выбрал, он отображается , я помню как его набрать :), иногда структура бывае несколько сложнее, там использую 2-3 вида разделителей(больше не требовалось). время показало работоспособность, пока мне этого достаточно utf-8 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2016, 21:41 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
вадяне возможность инициировать передачу сервером Long Polling - материалов в сети достаточно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2016, 21:42 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
вадяэто все верно, просто я его выбрал, он отображается , я помню как его набрать :), а если он в данных? (в названии товара легко может затесаться, например) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2016, 21:44 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
авторчестно говоря, всё это реализуется и без WebSocket(возможны запросы без ответов, даже пустых/формальных - это несущественно, в TCP/IP внутри квитирование всё равно имеет место) захотелось освоить и применить WebSocket - замечательно абсолюто верно, для десктопов это не проблема, вот для браузеров это была проблема. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2016, 21:44 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
вадяя помню как его набрать :), \x1f ничуть не сложнее, чем Alt0174, а для отладки - всяко нужно выводить форматированный текст. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2016, 21:47 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
вадяя уже писал, но повторюсь, -полнейшая асинхронность, -на один запрос возможны несколько ответов, -возможны запросы без ответов, даже пустых/формальных -возможность передачи сервером без запроса с клиента -клиентом может быть как браузе, так и андроид, или другой клиент с ws -есть обработка обрывов. -поддержка шифрования - wss -возможность передачи текстовых/бинарных данных 1. ajax :) 2. когда такое надо? Почему не ответить одним разом? 3. согласен, килобайт трафика на пустом запросе сэкономите. 4. не подходит под условие. Это и есть незамедлительная актуализация данных на клиенте (я и написал такое условие, потому как посчитал единственным условием, когда ws оправдан) 5. а с http дела обстоят иначе? Оо 6. у ajax тоже есть статусы соединения, потому не преимущество 7. аналог https, потому не преимущество 8. сейчас это и аяксом делать можно Пока что вывод такой: это надо только для незамедлительной актуализации данных на клиенте или на системах, где очень сильно порезан канал и счёт трафика идёт на килобайты. Возможно ответы на вопросы 2 и 5 расширят область полезного применения ws :) так что с нетерпением жду ответов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2016, 21:50 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
вадявот для браузеров это была проблема XMLHttpRequest появился гораздо раньше WebSocket нравится WebSocket - и хорошо, мне он тоже нравится( кроме маразма с обязательностью маски для передачи от клиента) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2016, 21:52 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
вадяэто код, в котором показано как это работает а как это соотносится с темой топика? Помню в теме ангуляр мы тоже твой сокет рассматривали. Может модератора прикрепить топик вверху с 3-мя идеями? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2016, 21:54 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
WebSocket так WebSocket - всё хорошо. Диспетчеризация сообщений на клиенте хромает. в глобальное пространство имён помещаются функции-обработчики всех типов сообщений, отсутствие обработчика - вызывает ошибку (ну не интересно клиенту слушать некоторые уведомления от сервера) подписки на сообщения - нет ( у сообщения, посылаемого сервером, может быть более одного подписчика) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2016, 22:04 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
вадяИзопропил, начинается всё с "протокола" идея взята с хабра, моя доработка. первая часть - команда. она отделена от остальной части разделителем , я использую | команда представляет собой имя функции , которая и будет обработывать данные. из-за определённых условностей имена формализированы до полной абстакции : xxxnn, yyynn и им подобные (где nn цифры) , буквы обозначают причастность к странице - прошу не пинать, это обеспечивает некоторые преимущества, которые перекрывают многие недостатки. после разделителя -идут данные - тут мой "json" для экономии трафика стандарный не используется, передаваемые данные разделены своим разделителем, он должен быть любым символом, который не встречается в данных к примеру я использую ® - его код Alt0174, иногда используется прстая запятая для разделения по разделителю - комада split. из моей практики - длина данных составляет до 10 полей, это самый редкий размер. Код: 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. некоторые незначительные тонкости описании пропущены вот этот весь код предлагается вместо JSON.parse(str). Так? Вместо 1 строки при AJAX? Как преобразовать такую строку в массив ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2016, 22:21 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
Изопропилвадяне возможность инициировать передачу сервером Long Polling - материалов в сети достаточно для браузеров это костыль, но люди делали и у них работало. автора если он в данных? (в названии товара легко может затесаться, например) передача данных выглятид так $(document).on('click', '№xxbbb', function (e) { con.send('xxx33|'+n+'®'+j); }); разделитель можно поставить любой, в любом месте свой, гарантированно не задейсвованный. автор\x1f ничуть не сложнее, чем Alt0174, а для отладки - всяко нужно выводить форматированный текст. очень хорошо, проверю, просто не было проблемой, поэтому и не заморачивался. 1. ajax :) - не правильно выразился про асинхронность, виноват, имелось в виду что не надо отслеживать очередность отправления/прихода данных. 2. когда такое надо? Почему не ответить одним разом? не часто, но выручает очень выгодно, к примеру когда хранимка возвращает множественный резульсет, а на клиенте разные обработчики, это проще, чем данные разделять и отправлять в разные места. 3. согласен, килобайт трафика на пустом запросе сэкономите. 4. не подходит под условие. Это и есть незамедлительная актуализация данных на клиенте (я и написал такое условие, потому как посчитал единственным условием, когда ws оправдан) категоричность заявления спорная. но в 99% верная. тут я бы сказал польза не в опреративности, а в том что для получения обновлённых данных надо писать код, таймер, кнопку, или ещё какой-то механизм. с ws просто функция - помещения новых данных в нужное место. если ты першёл в поле и хочешь с ним работать надо полслать запрос, дождаться ответа. а так у тебя в поле заведомо достоверная инфа. а если получение ответа несколько длительно...показывать часики 5. а с http дела обстоят иначе? Оо тут имеется в виду , что один и тот же обработчик будет работать как с десктопом, андроид приложение, браузером. лишь бы была поддержка ws. 6. у ajax тоже есть статусы соединения, потому не преимущество есть , но не такая по функционалу 7. аналог https, потому не преимущество спорить не буду 8. сейчас это и аяксом делать можно согласен да есть ещё плюс по ws можно связываться не только с родным сервером, но и с любым количеством других. полуплюс - с одной страницы можно иметь несколько подключений к серверу ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2016, 22:26 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
вадячто один и тот же обработчик будет работать как с десктопом, андроид приложение на андроиде юзают retrofit . 130 штук зарплата http://www.sql.ru/forum/1222047/android-razrabotchik-moskva-100-130-t-r-na-ruki?mid=19395575&hl=retrofit#19395575 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2016, 22:43 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
авторкроме маразма с обязательностью маски для передачи от клиента расшифруй авторвот этот весь код предлагается вместо JSON.parse(str). Так? нет, не правильно понят код по мимо JSON.parse этот код вызывает обработчика данных каждго для набора данных свой. ты можешь выделить с помщью JSON.parse команду и используя window[ля](данные) вызвать обработчик авторВместо 1 строки при AJAX? проще не получится, если делать такой же фунционал авторКак преобразовать такую строку в массив ? любым доступным методом , какой придумаешь. для начала я б сформировал другую строку, более удобную если на сервере нет данных, я могу и не посылать, а могу послать другому обработчику сообщение, дело фантазии авторв глобальное пространство имён помещаются функции-обработчики всех типов сообщений, отсутствие обработчика - вызывает ошибку (ну не интересно клиенту слушать некоторые уведомления от сервера) это решается простой логикой сервера. нет такой проблемы. авторподписки на сообщения - нет ( у сообщения, посылаемого сервером, может быть более одного подписчика) ещё проще - на сервере решается без проблем, и клиенту не придут не нужные ему сообщения эта проблема взята из распространённых примеров в сети по 4 пункту - при отсутствии действий пользователя - обращений к серверу , на сервере при окончании времени сесии идет команда на клиента и его страница переходит на страницу авторизации. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2016, 22:49 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
Petro123вадячто один и тот же обработчик будет работать как с десктопом, андроид приложение на андроиде юзают retrofit . 130 штук зарплата http://www.sql.ru/forum/1222047/android-razrabotchik-moskva-100-130-t-r-na-ruki?mid=19395575&hl=retrofit#19395575 я пробу сил на ws сделал на трекере написал програмку считывания gps, и отправки на сервер, с него на страницу браузера на карту гугла. получилось довольно интересно, и трафика сжирало очень мало. но gps + передача на соньке кушало много.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2016, 22:55 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
авторВместо 1 строки при AJAX? проще не получится, если делать такой же фунционал я проверял, ради интереса. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2016, 22:56 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
вадяавторкроме маразма с обязательностью маски для передачи от клиента расшифруй RFC6455 section-5.3 4 байта на сообщение псу под хвост ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2016, 22:58 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
вадянет, не правильно понят код по мимо JSON.parse этот код вызывает обработчика данных каждго для набора данных свой. ты можешь выделить с помщью JSON.parse команду и используя window[ля](данные) вызвать обработчик ещё подробнее. Типа ты с сервера послал не только данные, но и Код: sql 1. Так? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2016, 22:58 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
вадяавторв глобальное пространство имён помещаются функции-обработчики всех типов сообщений, отсутствие обработчика - вызывает ошибку (ну не интересно клиенту слушать некоторые уведомления от сервера) это решается простой логикой сервера. нет такой проблемы. речь о несчастном клиенте, причём здесь сервер? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2016, 23:00 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
вадяя пробу сил на ws сделал на трекере написал програмку считывания gps, и отправки на сервер, с него на страницу браузера на карту гугла. получилось довольно интересно, и трафика сжирало очень мало. но gps + передача на соньке кушало много.. я тебе по заплату 130 штук и Retrofit, а ты мне про то как ты отдыхал этим летом. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2016, 23:01 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
вадя 1. ajax :) - не правильно выразился про асинхронность, виноват, имелось в виду что не надо отслеживать очередность отправления/прихода данных. 2. когда такое надо? Почему не ответить одним разом? не часто, но выручает очень выгодно, к примеру когда хранимка возвращает множественный резульсет, а на клиенте разные обработчики, это проще, чем данные разделять и отправлять в разные места. 3. согласен, килобайт трафика на пустом запросе сэкономите. 4. не подходит под условие. Это и есть незамедлительная актуализация данных на клиенте (я и написал такое условие, потому как посчитал единственным условием, когда ws оправдан) категоричность заявления спорная. но в 99% верная. тут я бы сказал польза не в опреративности, а в том что для получения обновлённых данных надо писать код, таймер, кнопку, или ещё какой-то механизм. с ws просто функция - помещения новых данных в нужное место. если ты першёл в поле и хочешь с ним работать надо полслать запрос, дождаться ответа. а так у тебя в поле заведомо достоверная инфа. а если получение ответа несколько длительно...показывать часики 5. а с http дела обстоят иначе? Оо тут имеется в виду , что один и тот же обработчик будет работать как с десктопом, андроид приложение, браузером. лишь бы была поддержка ws. 6. у ajax тоже есть статусы соединения, потому не преимущество есть , но не такая по функционалу 7. аналог https, потому не преимущество спорить не буду 8. сейчас это и аяксом делать можно согласен да есть ещё плюс по ws можно связываться не только с родным сервером, но и с любым количеством других. полуплюс - с одной страницы можно иметь несколько подключений к серверу 1. Новую формулировку про "не надо отслеживать очередность отправления/прихода данных" не понял. Прокомментируй пожалуйста более подробно что это за проверка и когда в ней появляется необходимость (которой в ws соответственно нет) 2. К сожалению и эту формулировку я тоже не понял. Зачем отправлять в разные места, если можно всё это отправить одним ответом на клиента в виде того же json например? 3. ОК 4. 99%. Почти полное ОК (как у врачей... 99.9% с учётом непредсказуемой случайности) :)) 5. Один и тот же? То есть ты хочешь js обработчик (написанный для браузера) вклинить в C++ код в десктопной реализации? Это как?! Поясни более подробно фразу "один и тот же обработчик" 6. ws статусы шире? А что в нём доступно такого, что не доступно в ajax статусах? 7. ОК 8. ОК 9. "ws можно связываться не только с родным сервером, но и с любым количеством других" - а с ajax дела обстоят иначе Оо 10. "с одной страницы можно иметь несколько подключений к серверу" - а с ajax разве нельзя? Оо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2016, 23:02 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
авторPetro123, Типа ты с сервера послал не только данные, но и {Имя: Вася; Принял:500|НажатьКнопку15} нет нажимать не надо фффф|данные ФФФФ -это имя функции(в общем случае) Имя: Вася; Принял:500 - если это данные , то их а ФФФФ вставит , или сделает с данными всё , что в ней прписано ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2016, 23:05 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
вадяИмя: Вася; Принял:500 - если это данные в json - никак не передать параметры регулярным образом и произвольной сложности? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2016, 23:07 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
Код: sql 1. Это отправляется на сервер? Офигеть! )) 1. А в JSON я не могу функцию отправить? Если захочу? 2. Зачем это нужно? Может ещё вёрстку добавим? И CSS? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2016, 23:09 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
Изопропил, авторречь о несчастном клиенте, причём здесь сервер? потому что за распространение сообщений с сервера отвечает сервер, и подписка организуется на сервере авторя тебе по заплату 130 штук и Retrofit, а ты мне про то как ты отдыхал этим летом. после твоей критики я боюсь куда нибудь пробоваться автор4 байта на сообщение псу под хвост чем больше сообщение тем кпд использования выше и по сравнению с ajax -это мизер ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2016, 23:11 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
вадяпосле твоей критики я боюсь куда нибудь пробоваться не поведёмся)). Это у тебя тонкий ход прожжённого полемиста)). "Сами мы не местные.....помогите кто чем сможет" "Москва слезам не верит" )) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2016, 23:14 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
Petro123 Код: sql 1. Это отправляется на сервер? Офигеть! )) 1. А в JSON я не могу функцию отправить? Если захочу? 2. Зачем это нужно? Может ещё вёрстку добавим? И CSS? боюсь предположить, что сервере творится )) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2016, 23:20 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
1. Новую формулировку про "не надо отслеживать очередность отправления/прихода данных" не понял. Прокомментируй пожалуйста более подробно что это за проверка и когда в ней появляется необходимость (которой в ws соответственно нет) насколько я помню , в ajax на каждый запрос должен придти ответ , и если отправлено два запроса первый долгий, второй быстрый, то ответ второго посчитается как ответ на первый. 2. К сожалению и эту формулировку я тоже не понял. Зачем отправлять в разные места, если можно всё это отправить одним ответом на клиента в виде того же json например? отправить можно, но придётся делать дополнительную обработку по разделению данных у меня также было что эти обработчики работали и по отдельности. 3. ОК 4. 99%. Почти полное ОК (как у врачей... 99.9% с учётом непредсказуемой случайности) :)) - я дал и более расширенное толкование. 5. Один и тот же? То есть ты хочешь js обработчик (написанный для браузера) вклинить в C++ код в десктопной реализации? Это как?! Поясни более подробно фразу "один и тот же обработчик" обработчик на сервере. т.е. серверу всё равно кто является клиентом 6. ws статусы шире? А что в нём доступно такого, что не доступно в ajax статусах? https://learn.javascript.ru/websockets#коды-закрытия но есть ещё и пользовательские 7. ОК 8. ОК 9. "ws можно связываться не только с родным сервером, но и с любым количеством других" - а с ajax дела обстоят иначе Оо отстал от жизни.... :) 10. "с одной страницы можно иметь несколько подключений к серверу" - а с ajax разве нельзя? Оо можно :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2016, 23:27 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
вадянасколько я помню , в ajax на каждый запрос должен придти ответ , и если отправлено два запроса первый долгий, второй быстрый, то ответ второго посчитается как ответ на первый. это может случиться только в жутко кривой реализации сервера ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2016, 23:29 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
Petro123 Код: sql 1. Это отправляется на сервер? Офигеть! )) 1. А в JSON я не могу функцию отправить? Если захочу? 2. Зачем это нужно? Может ещё вёрстку добавим? И CSS? ты не понял. на сервер будет отправлено имя метода=команда idВаси,IdПети этобудет примерно так xxx44|454,6556 на сервере вызовется метод xxx44с параметром-строкой param 454,6556 в методе вызов хранимки с парм con_.prepareCall("{call хранимк1("+param+")}");) и всё ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2016, 23:34 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
Изопропилвадянасколько я помню , в ajax на каждый запрос должен придти ответ , и если отправлено два запроса первый долгий, второй быстрый, то ответ второго посчитается как ответ на первый. это может случиться только в жутко кривой реализации сервера кривая или нет - это надо отслеживать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2016, 23:35 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
Изопропил, т.е . не отправлять данные первого долгого запроса. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2016, 23:37 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
вадяИзопропил, т.е . не отправлять данные первого долгого запроса. не правильно не отравлять клиенту ответ сторого быстрого запроса. я же могу во время долгого отарвить и получить ещё кучу быстрых и не очень запросов ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2016, 23:39 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
вадяИзопропил, т.е . не отправлять данные первого долгого запроса. не понял нихера - есть несколько параллельно исполняемых запросов - на каждый нужно дать свой ответ, как ответы могут "перемешаться" ? что для этого нужно вытворить? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2016, 23:39 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
вадяя же могу во время долгого отарвить и получить ещё кучу быстрых и не очень запросов понятно. а идентификатор вызова(транзакции) где? выдавши пару запросов - xxx44|454,6556 xxx44|1454,26556 как различить на какой ответ пришёл? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2016, 23:44 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
вадяты не понял. на сервер будет отправлено имя метода=команда idВаси,IdПети этобудет примерно так xxx44|454,6556 на сервере вызовется метод xxx44с параметром-строкой param 454,6556 в методе вызов хранимки с парм con_.prepareCall("{call хранимк1("+param+")}");) и всё ну да. Я запутался тут. Т.е. это выше простыня отправки на сервер Код: sql 1. так? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2016, 23:44 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
вадя, вопрос прежний. Почему не JSON с зарплатой 130? )) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2016, 23:45 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
Petro123 Код: sql 1. интересно, какой синтаксис будет при передаче BOM(Bill of materials), например? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2016, 23:47 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
ИзопропилвадяИзопропил, т.е . не отправлять данные первого долгого запроса. не понял нихера - есть несколько параллельно исполняемых запросов - на каждый нужно дать свой ответ, как ответы могут "перемешаться" ? что для этого нужно вытворить? т.е. ты на каждый запрос на сервер пишешь свою страницу обработки? я могу с этим ошибаться, но когда работал с ajax, тогда это было проблемой, возможно мы просто не понимаем друг друга ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2016, 23:48 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
автор{БДхранимкаРассчитатьЗарплату|Вася,Петя,с 12-го сентября99г.} на сервер будет отпарвлено xxxx22|idВаси,idПети,'1999-09-12' Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2016, 23:55 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
вадят.е. ты на каждый запрос на сервер пишешь свою страницу обработки? я могу с этим ошибаться, но когда работал с ajax, тогда это было проблемой, возможно мы просто не понимаем друг друга явно не понимаем. в сервлет пришёл запрос, на него нужно дать ответ, как и что здесь можно перепутать и отправить не туда? Код: java 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2016, 23:58 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
вадя Код: java 1. про JNDI когда-нибудь что-нибудь слышал? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.11.2016, 00:03 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
Изопропил, т.е на каждый запрос пишется такое автор e.preventDefault(); var frm = $(this); $.ajax({ url: frm.attr('action'), type: frm.attr('method'), data: frm.serialize(), success: eval(frm.data('success')) || function(data){ //дефолтный обработчик, если у формы не определён success метод }, error: eval(frm.data('error')) || function(error){ //дефолтный обработчик, если у формы не определён success метод alert('got error'); } }); }); var errorHandler = function (error){ alert('got special error'); }; отличие только в данных или ещё в url: frm.attr('action'),? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.11.2016, 00:07 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
авторпро JNDI когда-нибудь что-нибудь слышал? слышал, но однажды обжогся на чужой библиотеке боюсь пользоваться, тем более что подключение к mysql находящейся на том же железе не затратно. признаю, что можно сделать это не так..... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.11.2016, 00:12 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
вадя1. Новую формулировку про "не надо отслеживать очередность отправления/прихода данных" не понял. Прокомментируй пожалуйста более подробно что это за проверка и когда в ней появляется необходимость (которой в ws соответственно нет) насколько я помню , в ajax на каждый запрос должен придти ответ , и если отправлено два запроса первый долгий, второй быстрый, то ответ второго посчитается как ответ на первый. 2. К сожалению и эту формулировку я тоже не понял. Зачем отправлять в разные места, если можно всё это отправить одним ответом на клиента в виде того же json например? отправить можно, но придётся делать дополнительную обработку по разделению данных у меня также было что эти обработчики работали и по отдельности. 3. ОК 4. 99%. Почти полное ОК (как у врачей... 99.9% с учётом непредсказуемой случайности) :)) - я дал и более расширенное толкование. 5. Один и тот же? То есть ты хочешь js обработчик (написанный для браузера) вклинить в C++ код в десктопной реализации? Это как?! Поясни более подробно фразу "один и тот же обработчик" обработчик на сервере. т.е. серверу всё равно кто является клиентом 6. ws статусы шире? А что в нём доступно такого, что не доступно в ajax статусах? https://learn.javascript.ru/websockets#коды-закрытия но есть ещё и пользовательские 7. ОК 8. ОК 9. "ws можно связываться не только с родным сервером, но и с любым количеством других" - а с ajax дела обстоят иначе Оо отстал от жизни.... :) 10. "с одной страницы можно иметь несколько подключений к серверу" - а с ajax разве нельзя? Оо можно :) 1. Ошибаешься, только что проверил, всё добавляется в правильные дивы, никто ничего не путает. Код: 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. 2. Продолжаю не понимать. Можешь пример накатать, когда с ajax приходится выполнять лишние действия, а с ws этого не требуется? 3. ОК 4. Это ты про таймер лишний? то есть про лишнюю строку кода вида setInterval? Ну ладно. Давай не будет такие мелочи учитывать. Я же не говорю, что инициализация websocket намного больше чем $.ajax() Так что давай считать ОК, потому что указанный аргумент незначим 5. с ajax так же. Кто бы с сервером по http протоколу не общался: десктоп, mobile или браузер - серверу наплевать 6. вики кода ответов http ... что-то мне кажется что http протокол явно переплюнул ws по количеству возможных статусов ответов :) А ведь ещё и сам ajax позволяет отловить факт обрыва связи :) 7. ОК 8. ОК 9. ОК 10. ОК ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.11.2016, 00:17 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
по поводу автор public void doGet(HttpServletRequest request, HttpServletResponse response) давай замнём, для яности :) потому что я не могу счас вспомнить всю конкретику данной проблемы, к сожалению... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.11.2016, 00:17 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
вадяслышал, но однажды обжогся на чужой библиотеке боюсь пользоваться, какая ещё библиотека, реализацию обеспечивает сервлет контейнер можно конечно не доверять Tomcat, JBoss, Jetty ........ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.11.2016, 00:27 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
автор4. Это ты про таймер лишний? то есть про лишнюю строку кода вида setInterval? Ну ладно. Давай не будет такие мелочи учитывать. Я же не говорю, что инициализация websocket намного больше чем $.ajax() Так ну не только таймер....просто некая логика, которой нет в ws. авторЯ же не говорю, что инициализация websocket намного больше чем $.ajax() Так но только один раз далее просто вызов как простой функции ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.11.2016, 00:35 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
Изопропилвадяслышал, но однажды обжогся на чужой библиотеке боюсь пользоваться, какая ещё библиотека, реализацию обеспечивает сервлет контейнер можно конечно не доверять Tomcat, JBoss, Jetty ........ там бы не чисто мой прект, и там вызывались методы из другой библиотек, в итоге оказывались не закрытые коннекты к базе, которые пришлось решить перезапуском mуsql и кошки по крону ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.11.2016, 00:39 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
Изопропила идентификатор вызова(транзакции) где? выдавши пару запросов - xxx44|454,6556 xxx44|1454,26556 как различить на какой ответ пришёл? или ни в коем случае нельзя выдать параллельно две "команды" с одним именем(ответы "перемешаются")? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.11.2016, 00:41 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
вадяавтор4. Это ты про таймер лишний? то есть про лишнюю строку кода вида setInterval? Ну ладно. Давай не будет такие мелочи учитывать. Я же не говорю, что инициализация websocket намного больше чем $.ajax() Так ну не только таймер....просто некая логика, которой нет в ws. авторЯ же не говорю, что инициализация websocket намного больше чем $.ajax() Так но только один раз далее просто вызов как простой функции Хорошо. пускай 4 в пользу ws :) Как ты писал "полуплюс". Вроде как небольшое излишество ajax перед ws (но по сути не являющееся значимым) получаем в итоге: 1. ОК (аякс справляется) 2. жду ответа 3. ОК 4. WS 5. жду ответа 6. жду ответа 7. ОК 8. ОК 9. ОК 10. ОК Почти все пункты уже закрыли :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.11.2016, 00:55 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
Програмёр, 5 действительно ,серверу c ajax без разницы, кто его клиент, 6 ws отслеживает это фоном, и при обрыве може пересоединиться, или сообщить юзеру. ajax только на момент отправки, ожидания. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.11.2016, 08:33 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
Код: sql 1. т.е. имён параметров у тебя нету. Строго первым идёт имя хранимки, даже если это select version. Потом параметры, которые при рефакторинге добавлять только в конец. По имени нельзя. Так? Контроль типов для даты и нецелых чисел отсутствует. Так? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.11.2016, 09:56 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
вообще то, такой формат передачи данных через разделитель, ещё на информатике в 1-м классе дают. Потом долго объясняют чем он плох в большой системе. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.11.2016, 09:58 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
Petro123 Код: sql 1. т.е. имён параметров у тебя нету. Строго первым идёт имя хранимки, даже если это select version. Потом параметры, которые при рефакторинге добавлять только в конец. По имени нельзя. Так? Контроль типов для даты и нецелых чисел отсутствует. Так? ты всё понимаешь слишком в упор. :) ещё раз - скажем та : использование хранимок аминистративно/политическое решение. имена метода и хранимки у меня совпадают только для того чтоб проще было проследить цепочку первым идет имя метода из java, дальше идут параметры. почему нет имен, а id - для базы - имена могут повторяться id -уникальны у меня при построении (к примеру) таблицы для каждой строки есть атрибу datd-id с id записи (не будем углубляться в тонкости) поэтому передавать само текстовое значение как идентификатор не надо. вместо мокго формирования данных- можно передать и json- там порядок не важен. приведённый пример показывает что, можно применять для самх элеметарных действий. увеличивать сложность - пожалуйста можно и с клиента гнать json , просто этого до сих пор не требовалость ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.11.2016, 10:36 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
авторКонтроль типов для даты и нецелых чисел отсутствует. это можновставить в любом месте, и при вводе дробных чисел в браузере у меняэто контролируется - юзер может ввести что угодно, просто автоматом запятая заменяется на точку, проверяется является ли введённое числм и прочее при необходимости ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.11.2016, 10:41 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
Програмёр, 2 - реальный пример - при загрузке страницы 3 таблицы пустые , но в процессе работы таблицы работают сами по себе, и обновление идет своим "обработчиком" , на и первым шагом идет один запрос на вывод этих таблиц, сервер возвращает три ответа , свой для каждой таблицы ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.11.2016, 10:51 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
ИзопропилИзопропила идентификатор вызова(транзакции) где? выдавши пару запросов - xxx44|454,6556 xxx44|1454,26556 как различить на какой ответ пришёл? или ни в коем случае нельзя выдать параллельно две "команды" с одним именем(ответы "перемешаются")? вадя, что с этим? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.11.2016, 11:24 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
Изопропил, такой проблемы просто не существует, попробую объяснить xxx44|454,6556 xxx44|1454,26556 xxx44 - один метод на сервере один, алгоритм обработки, один формат ответа к прмеру - у тебя N ячеек таблицы и ты очень шустрый юзер , вводишь очень шустро и отправляешь при каждом получении сервер обрабатывает в своём потоке и отправляет обратно соответственно на клиенте обработчик с именем xxx44 -он один, и все приходящие ответы он должен раскидать по ячейкам откуда произошел запрос на сервер. т.к. обработчик один в ответе должны быть координаты ячейки куда поместить ответ - поэтому в каой бы последовательности и скороати всё это не работало путаницы не будет ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.11.2016, 11:55 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
вадяPetro123 Код: sql 1. т.е. имён параметров у тебя нету. Строго первым идёт имя хранимки, даже если это select version. Потом параметры, которые при рефакторинге добавлять только в конец. По имени нельзя. Так? Контроль типов для даты и нецелых чисел отсутствует. Так? ты всё понимаешь слишком в упор. :) ===== беру пример с тебя - как можно проще имена метода и хранимки у меня совпадают только для того чтоб проще было проследить цепочку === конечно. Если сделать CREATE\DELETE\GET\POST вместои имени хранимки, то мы получим REST))). Который уже в заголовке запроса и лишён всех твоих недостатков. Итого вопрос: Что взять если НЕ имена хранимок? почему нет имен, а id - для базы - имена могут повторяться id -уникальны у меня при построении (к примеру) таблицы ====== достал ты своими ячейками. Мы о большой системе говорим. ...... увеличивать сложность - пожалуйста ======= наконец -то! Из за того что нет параметров и контроля типов мы вводим JSON и выкидываем твои 100 строк отправки. можно и с клиента гнать json , просто этого до сих пор не требовалость достигнут п.3 флейма: "Мне это не требовалось". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.11.2016, 12:38 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
вадя, хорош флеймить. Будем ссылаться на транспорт Вади в этом топике и на FW вади в топике ангуляр. Больше ничего нового нет? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.11.2016, 12:42 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
авторимена метода и хранимки у меня совпадают только для того чтоб проще было проследить цепочку === конечно. Если сделать CREATE\DELETE\GET\POST вместои имени хранимки, то мы получим REST))). Который уже в заголовке запроса и лишён всех твоих недостатков. Итого вопрос: Что взять если НЕ имена хранимок? я уже говорил почему выбраны хранимки можно обойтись без них в методе входные параметры можно обработать простым запросом одним или несколькими, никто-не запрещает. CREATE\DELETE\GET\POST ограничивает функционал - я просто вызываю метод по имени и делаю та всё что угодно - мне так кажется проще автор====== достал ты своими ячейками. Мы о большой системе говорим. ...... увеличивать сложность - пожалуйста у меня и получается, что систему любой сложности решается элементарными действиями. мне не требуется передавать на сервер огромные данные, сложной структуры. не потому, что система простая, а потому, всё делается элементарными частями. автор======= наконец -то! Из за того что нет параметров и контроля типов мы вводим JSON и выкидываем твои 100 строк отправки. стоимость отправки у меня получается минимальна , я отправляю метод обработки и необходимые данные для него - не сервере происходит обработка в этом методе какой угодно сложности. если модераторы перенесут в друго топик - ради бога. будут вопросы - отвечу будут идеи и предложения проверю дискуссию как с Изопропил я поддерживаю кого заинтересует - помогу, чем смогу ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.11.2016, 13:08 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
Изопропил, основное, что меня сподвигло на переход на ws именно актуальность данных у клиента делая ситему для заказов , когда операторы принимают заказ по телефону и готовят счёт , столкнулся с проблемой наличия товара, и когда один уже заказал но не отправил на сервер, и второй тоже самое и вот вопрос когда заканчивают заказ кто получит ? приходилось городить очень сложный механизм кода с ws это решается очень просто ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.11.2016, 13:16 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
вадямне не требуется передавать на сервер огромные данные да нет никаких огромных данных. Если передавать по ws данные через палочку или в виде JSON то нет никакой особой разницы. НЕТ НИКАКИХ ОГРОМНЫХ данных. Либо ты не можешь разговаривать доступным языком. Что в твоём коде выше такого особенного кроме отправки данных через палочку и протокол сокет? Вопрос риторический. Проехали с этой темой и развивайся дальше как профессионал. Удачи тебе в новых темах. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.11.2016, 14:23 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
вадяПрограмёр, 5 действительно ,серверу c ajax без разницы, кто его клиент, 6 ws отслеживает это фоном, и при обрыве може пересоединиться, или сообщить юзеру. ajax только на момент отправки, ожидания. Было бы странно, если бы технология типа "запрос-ответ" следила бы за доступностью ресурса в реальном времени даже тогда, когда с ним отсутствует активное соединение. Если не требуется моментальная актуализация данных/состояния, то я его с помощью ajax актуализирую в момент следующего обновления (например через 10-20 секунд), когда при попытке соединения получу ошибку. Потому это всё к тому же вопросу незамедлительной актуализации. Ещё аргументация в пользу статусов ws есть? 1. ОК 2. :)) под примером я имел ввиду пример кода. Я просто не могу понять о чём ты говоришь, а код это поможет прояснить, потому что он намного более формален чем русский. Его нельзя правильно прочитать и неправильно понять... а русский можно потому, что мы склонны недоговаривать и упускать "очевидные" мелочи. 3. ОК 4. WS 5. ОК 6. жду ответа 7. ОК 8. ОК 9. ОК 10. ОК ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.11.2016, 14:30 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
вадят.к. обработчик один в ответе должны быть координаты ячейки куда поместить ответ значит они должны быть и запросе - понятно, вот такой идентификатор вызова. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.11.2016, 14:32 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
ПрограмёрБыло бы странно, если бы технология типа "запрос-ответ" следила бы за доступностью ресурса в реальном времени даже тогда, когда с ним отсутствует активное соединение так сделать нужно постоянное активное соединение висит запрос ajax(с таймаутом секунд 30), секунд через 25 сервер отвечает, что ничего интересного нет, клиент перезапускает запрос. а если что интересное для клиента есть - посылает данные. PS если нужна "незамедлительная" актуализация при помощи ws - ping-pong пакетами обмениваться нужно, иначе разрыв TCP соединения быстро не отловить и быстро не сделать реконнект что делать, если сервер 4 секунды не отзывается? как должна повести себя "незамедлительная актуализация"? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.11.2016, 14:42 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
ИзопропилПрограмёрБыло бы странно, если бы технология типа "запрос-ответ" следила бы за доступностью ресурса в реальном времени даже тогда, когда с ним отсутствует активное соединение так сделать нужно постоянное активное соединение висит запрос ajax(с таймаутом секунд 30), секунд через 25 сервер отвечает, что ничего интересного нет, клиент перезапускает запрос. а если что интересное для клиента есть - посылает данные. PS если нужна "незамедлительная" актуализация при помощи ws - ping-pong пакетами обмениваться нужно, иначе разрыв TCP соединения быстро не отловить и быстро не сделать реконнект что делать, если сервер 4 секунды не отзывается? как должна повести себя "незамедлительная актуализация"? насчёт ping-pong - аргумент... об этом не подумал :) Но в условиях беседы не значимо. Мы вопрос актуализации данных сразу отмели, потому не зависимо от того проще это делается на ws или нет, итог один - это касается незамедлительной актуализации. насчёт long poll, тут с вадей согласен. Нету смысла использовать технологию, предназначенную не для этого если есть более удобный вариант - websockets :) Я и защиту ajax провожу, в принципе, по тому же сценарию: зачем ws там, где справляется технология попроще. Понятное дело что с помощью ws можно сделать то же, что и делает ajax... и наоборот ajax можно подкостылить так, что бы наделить его функционалом ws... да только зачем? Это попытка приспособить молоток для развинчивания гаек, а отвёртку для забивания гвоздей Разумеется, когда нету нужных инструментов под рукой это может быть полезным, да только у нас то они "под рукой"! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.11.2016, 15:11 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
Програмёр , 2 попробую изобразить наиболее наглядный пример... 6 вроде как договорились , что основное преимущество реальное состояние соединения https://learn.javascript.ru/websockets#ping-pong, всё встроено в ws/ автортак сделать нужно постоянное активное соединение висит запрос ajax(с таймаутом секунд 30), секунд через 25 сервер отвечает, что ничего интересного нет, клиент перезапускает запрос. а если что интересное для клиента есть - посылает данные. очень достойное решение. только когда у тебя 1 клиент , а если 1000+ причём они не синхронизтрованы и эти запросы могут ..... и всё это пустая нагрузка на сервер т.е. можно добавить плюсом к 6 пункту авторзначит они должны быть и запросе - понятно, вот такой идентификатор вызова. такое я считал , что это не требовало дополнительного уточнения.... авторда нет никаких огромных данных. Если передавать по ws данные через палочку или в виде JSON то нет никакой особой разницы. НЕТ НИКАКИХ ОГРОМНЫХ данных. Либо ты не можешь разговаривать доступным языком. Что в твоём коде выше такого особенного кроме отправки данных через палочку и протокол сокет? Вопрос риторический. ты не можешь толково описать проблему - я не могу на это вразумительно ответить - не могу понять тебя, как понимаю - так отвечаю вот с Програмёр(ом) понятно, есть попытки понять друг друга. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.11.2016, 15:57 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
вадяПрограмёр , 2 попробую изобразить наиболее наглядный пример... 6 вроде как договорились , что основное преимущество реальное состояние соединения https://learn.javascript.ru/websockets#ping-pong, всё встроено в ws/ нене. По поводу пункта 6 пока ещё не договорились. Как только мы сходимся во мнении (договариваемся) по какому-то пункту, я сразу отмечаю его в списке. Пока пункт 6 не отметил - значит мы пока ещё остаёмся каждый при своём мнении (ни с одной стороны не было такого неоспоримого аргумента, с которым согласился бы другой из нас) Так... по пункту 2 значит ждём, а по пункту 6: в чём именно проявляется преимущество этого "реального состояния" соединения? Что может случиться с соединением такого, что при работе через ajax мне придётся делать лишние телодвижения (или ситуация вообще станет неразрешимой), а ws сам всё решит без моего вмешательства? :)) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.11.2016, 16:07 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
вадятакое я считал , что это не требовало дополнительного уточнения.... а зачем серверу вообще чего-то знать о координатах какой-то ячейки? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.11.2016, 16:08 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
вадяты не можешь толково описать проблему - с дуба рухнул? У меня нет проблемы. Ты написал, что у тебя классно и НЕТ ОГРОМНЫХ данных. Я ответил, что твоя фраза - враньё. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.11.2016, 16:09 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
Изопропилвадятакое я считал , что это не требовало дополнительного уточнения.... а зачем серверу вообще чего-то знать о координатах какой-то ячейки? ту может быть несколько вариантов применения - что б правильно записать в таблицу и пр. и как основной для конкретного примера - просто протраслировать обратно клиенту, что б по этим координата вставить туда от куда пришли данные. это намного проще чем что-то где-то запоминать, повторно вычислячть. Програмёр 2. вызов при нажатии кнопки перехода по месецам Код: javascript 1. после обработки сервер в одном методе возвращает Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. обработка ответов Код: javascript 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.11.2016, 16:27 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
вадяПрограмёр 2. вызов при нажатии кнопки перехода по месецам Код: javascript 1. после обработки сервер в одном методе возвращает Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. обработка ответов Код: javascript 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. Это реализация поверх написанного тобой кода? Тогда дава ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.11.2016, 17:28 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
глюкануло что-то... Тогда давай код твоей библиотеки также включим в обсуждение. Я напишу ajax вызов на чистом js, возьмём твой вызов по ws и сравним где больше телодвижений и какой код сложнее? :)) Ну или давай тогда твою библиотеку временно "отключим" и реализуем описанный тобой функционал на чистом js :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.11.2016, 17:30 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
Програмёр, тыб объяснил ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.11.2016, 17:31 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.11.2016, 17:35 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
вадяочень достойное решение. только когда у тебя 1 клиент , а если 1000+ причём они не синхронизтрованы и эти запросы могут ..... и всё это пустая нагрузка на сервер т.е. можно добавить плюсом к 6 пункту vk.com - справляется ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.11.2016, 18:26 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
ПрограмёрТогда давай код твоей библиотеки какая библиотека. У него их не было никогда. Код разбросан по всем файлам и не вынесен в подключаемые скрипты. Компонента таблица - нету, т.к. задачи такой не стояло). И делать никаких библиотек он не будет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.11.2016, 18:27 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
Petro123ПрограмёрТогда давай код твоей библиотеки какая библиотека. У него их не было никогда. Код разбросан по всем файлам и не вынесен в подключаемые скрипты. Компонента таблица - нету, т.к. задачи такой не стояло). И делать никаких библиотек он не будет. вот интересно читать твои реплики, человека, который не вледеет темой а корчит из себя всезнайку ты б прежде чем пукать в лужу, осмотрелся бы, чтоб никто не видел этого, а то как-то не по взрослому получается или это у вас так принято? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.11.2016, 19:19 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
вадя, Ты согласен, что мой код ниже повторяет полностью функционал твоего клиента, только работает не по твоему протоколу, а посредством отправки/получения json? То есть мой код умеет всё, что умеет код этих двух сообщений вместе взятых (без учёта той части, которая серверная, разумеется): 19857242 и 19858881 моя реализация твоего клиента Код: 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. Таким образом, преимущество отправки данных порциями появляется только тогда, когда клиент ожидает получения огромных порций данных, что позволяет отображать информацию по мере получения (я надеюсь ты эту мысль хотел выразить с самого начала? просто странно что ты этого прямо не сказал) Таким образом ставим галочку в пользу WS при работе с огромными массивами данных, которые сервер не может передать достаточно быстро, что бы программист мог себе позволить отобразить их одним разом. Можешь ли ты описать ещё какие любо плюсы того, что WS позволяет отдавать данные порциями, кроме как уменьшение времени ожидания на клиенте? Итак, вернёмся к нашему списку: 1. ОК 2. WS (при большом количестве пересылаемых данных) 3. ОК 4. WS 5. ОК 6. жду ответа 7. ОК 8. ОК 9. ОК 10. ОК Осталось определиться с пунктом 6, что бы определить область оправданного применения WebSockets. Ответь пожалуйста на мой последний комментарий к пункту 6. Ну и как я говорил, если есть что добавить по пункту 2 (кроме "при большом количестве пересылаемых данных") ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.11.2016, 19:28 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
Програмёр, автор6 вроде как договорились , что основное преимущество реальное состояние соединения https://learn.javascript.ru/websockets#ping-pong, всё встроено в ws/ я не сомневался , что многое можно реализовать с помощью ajax. знаю, что у людей большой опыт и наработки. но мне трудно убеждать в чём-то людей, которые сравнивают одн со вторым, которое не пробовали, не проверяли по всем показателям. я работал и с тем и другим, поэтому я выбрал после реального сравнения. vk.com -справляется, и флаг ему в руки, а https://web.whatsapp.com/ работает через ws. Petro123 не нравится что я в коде формирую html строку , а мне не нравится , что он данные из результсета перегоняет в json, како-то библиотекой, потом этот json в виде строки гоит на клиента, а уж потом заполняет элемент...самое главное БИБЛИОТЕКОЙ вот только зачем стока преобразований? чем строка html отличается от json ? строка она и в Африке строка. я сформировал строку - отправил- вставил. для этого нужны какие-то библиотеки? для меня дуплексный режим основной выбор. если кого-то устраивает постоянный опрос сервера - да ради бога. я так понял, Програмеру понравилось такое Код: javascript 1. 2. 3. 4. 5. 6. да будет известно, что ws уже встроено во все браузеры. con = new WebSocket -это вызов встроенного в браузер кода..... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.11.2016, 20:01 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
вадячем строка html отличается от json чем модель отличается от представления? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.11.2016, 20:12 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
Изопропилвадячем строка html отличается от json чем модель отличается от представления? а есть ли смысл ради модели городить кучу кода и тратить на это время на выполнение? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.11.2016, 20:29 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
вадяно мне трудно убеждать в чём-то людей, которые сравнивают одно со вторым, которое не пробовали, не проверяли по всем показателям. я работал и с тем и другим, поэтому я выбрал после реального сравнения. Это прекрасно... если реальное сравнение обоснованное, а не "мне так показалось, что это удобнее" или "я тут это смог сделать, а там у меня не вышло" или "говорят что это лучше" :) Вот именно обоснованность твоих утверждений я и пытаюсь понять. Вот по второму пункту я с тобой согласился, что в определённых случаях это плюс... я даже согласился, что пункт 4 - тоже плюс для WS (хотя в душе остался при мнении что фигня а не аргумент, но всё же, твои слова основаны на чём-то физически существующем). Но как я понимаю ты пункт 6 обосновать не можешь. То есть там происходит как-то иначе, но чем это лучше по сравнению с ajax ты сам не понимаешь. Вот и приходим, что в целом, если программиста не пугает лишняя строка кода в виде setInterval(myUpdateFunc, 10000), если ему не требуется передавать огромные объёмы данных, если его канал достаточно широкий, что бы не заморачиваться на экономии лишних килобайт на клиента и если не требуется моментальная синхронизация с сервером, websocket не даст ему никаких плюсов по отношению к ajax (стандартному асинхронному http), а соответственно нет смысла переходить на какую-то альтернативную технологию. :)) А теперь к твоему первому посту, где ты собирался мне голову оторвать Ты раскритиковал мой код по двум пунктам: 1. eval 2. ajax 1. Обсуждение eval провалилось, потому как ты не предоставил никаких аргументов против использования eval (потому на фиг знает какой странице мне это обсуждение надоело... если есть аргументы - всё решается за считанные минуты, как с большинством пунктов по ajax против ws) 2. К указанному случаю все указанные плюсы ws неприменимы Так что, в итоге получается незачем мне голову отрывать? Если хочешь, можем в том же ключе что и с ajax обсудить и eval теперь. Культурно, обдумано. В таком случае начинать следует с конкретных аргументов с твоей стороны, почему eval использовать в указанном конкретном случае плохо и как это сделать лучше (опять же в указанном конкретном случае, который я описал в своём первом сообщении). P.S. Я не говорю что я абсолютно прав, но я не готов обсуждать чьи-то убеждения. Это просто трата времени. Я из обсуждения хочу вынести объективную информацию, а такое возможно только при полноценной адекватной аргументации. Потому я так быстро теряю интерес к пустому спору... потому я и удивляюсь что skyANA столько усилий приложил в попытке переубедить (честно, я бы не стал!) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.11.2016, 20:43 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
вадяИзопропилпропущено... чем модель отличается от представления? а есть ли смысл ради модели городить кучу кода и тратить на это время на выполнение? вадя, ты что! конечно есть... Ты, разумеется, можешь с сервера отдавать готовое представление, например подготовленные строки для вставки в html таблицу... НО это противопоказано делать там, где отрабатывает основная логика. Обычно это делается так: Код: php 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. А уже сама функция render подгружает указанный файл представления и заполняет его нужными данными. Я вот например подумал не о том, что ты html на клиента отправляешь, а первая же мысль о твоём коде была:"ФУ! Он что html собирает прямо в файле где формируются данные? Жесть какая каша!". То, что я привёл - это стандартный MVC шаблон. Кстати он часто не оправдывает надежд разработчика и к нему постоянно приходится что-то привинчивать. Но это, зачастую, первый шаблон архитектуры, который осваивают программисты. Он один из самых доступных для понимания (например на курсе cs50 это единственный шаблон архитектуры, с которым знакомят начинающих адептов программирования) Знаком с таким? плюсы применения знаешь или лучше их озвучить? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.11.2016, 21:03 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
Програмёр, скажу честно- с отрыванием головы - я погорячился. по 6 пункту могу только теоритически сказать - плюс только в отслеживании в реальном времени. практически до сих пор с эти не сталкивал, потому, что всё так стабильно работает само по-себе.... так что , для ясности и этот пункт замнём :) насчёт обсуждения eval - для меня закончилось довольно приличными результатами - разобрался как это делае jquery, и как можно плучить пользу от добавления свойста элементам, это позволит многое упростить. по самому eval - видел на практике его тормоза, поэтому использовать не хочу, хотя с твоими результатами экперимента и выводами полностью согласен и применение в том констексте считаю допустимым и даже оправданным :) но я б не стал так делать.... по ws - это действительно реальное сравнение. у меня был проект начинался на jax-ws, по сути тот же ajax. проблема началась когда юзера начали загружать картинки в портал и им потребовалось не по одной а сразу все, благо к тому времени в браузерах эта возможность появилась. они фоткали как попадётся, размер для них не имел значения (в отличие от сервера и времени на загрузки при просмотре) поэтому перед сохранением они нормализовались под размер, но стали жаловаться - отправили и всё зависает....начал искать как отсылать инфу для демонстрации прогреcса работы сервера и натолкнулся на ws. и получилось в одном проекте две технологии и понял разницу. твои возражения понятны, но советую не забывать про возможности и плюсы ws. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.11.2016, 21:28 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
Програмёр, плюсы я понимаю, но только рассмаривая код мне прятнее видеть то что он делает, мне не нравится , что чтоб узнать что-то реально о том, что выполняется надо просмотреть ещё несколько файлов.... мне не нравится когда за такими понятиями прячут незнание строения баз, не умеют построить структуры базы. возможно я не прав... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.11.2016, 21:38 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
вадя, с прогрессбаром хотел согласиться, но решил сначал погуглить (авось я просто не в курсе, потому что последний раз такая нужда появлялась несколько лет назад)... И оказалось, что погуглить было полезно. Оказывается к аяксу прикрутили функционал по отслеживанию процесса запроса-ответа :) приятно удивило ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.11.2016, 21:39 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
вадяПрограмёр, плюсы я понимаю, но только рассмаривая код мне прятнее видеть то что он делает, мне не нравится , что чтоб узнать что-то реально о том, что выполняется надо просмотреть ещё несколько файлов.... мне не нравится когда за такими понятиями прячут незнание строения баз, не умеют построить структуры базы. возможно я не прав... вадя, ты работаешь один или в команде? :) Я даже наверное немного уточню вопрос... приходилось ли тебе работать в паре с верстальщиком? Это важное уточнение, потому что я у себя в отделе строил работу так, что даже с таким подходом как у тебя можно было без проблем разделить работу между двумя программистами. Но вот между программистом и верстальщиком фиг разделишь (мне так кажется... если у тебя получалось делить, с радостью послушаю как ты этого добился) P.S. Конечно тот отдел, которым я руководил с горем пополам можно назвать отделом, потому как там работало всего 2 человека у меня в подчинении (ещё один программист и верстальщик). Но сейчас таких "отделов" в нише малого и среднего бизнеса большинство, а мне очень был полезен опыт управления маленькой командой... По другому начинаешь смотреть на собственные глупости и косяки, особенно когда точно с такими же сталкиваешься каждый день в лице подчинённых :)) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.11.2016, 21:50 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
Програмёр, интересно, но меня смутила эта фраза Код: plaintext там я добился большего, "нормализованная картинка" сохранялась на сервере и отправлялась обратно, + размер отправлено /сохранённого, это всё уже было для меня - появление картинок - признак правильной отработки сервера. мне не хватает дизайнера , знающего возможности html, а так я сам справляюсь. в своё время пришлось поработать за своей же бухгалтерско/складской системой - понял, что и как - в итоге получился неплохой продукт - операторы могли к к концу тлефонного заказа клиентом отправить напечатанный счет с учетом наших складских резервов/остатков и возможной замены товаров. операторвши в конце разговора просили клиента нажать на старт и наслаждались реакциец той стороны - удивлённый вопрос "Зачем?" - "Чтоб принять счёт" вот с тех пор я понял как не хватает возможности дуплексной связи с сервером... построить целиком систему для меня не проблема сделать удобный интерфейс тоже, а вот красиво его оформить.... роль верстальщика для сайтов может быть и нужна , но для корпоративных систем - нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.11.2016, 22:47 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
вадяроль верстальщика для сайтов может быть и нужна , но для корпоративных систем - нет. почему? любое говно сожрут? тоже подход. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.11.2016, 22:54 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
вадя, прогрессбар там строится на основании данных о количестве отправленных байт информации и их соотношению к общему размеру отправляемых данных. То есть тут никакого взаимодействия с сервером нету. Браузер может посчитать это ничего не спрашивая у сервера. Если вопрос длительной обработки запроса сервером - тут другое дело. Но я не представляю что должен делать сервер, что бы клиент явно заметил его "тупёж" :)) Насчёт того, что ты не работал с верстальщиками - в этом причина твоего непонимания полезности MVC... ты просто не можешь прочувствовать одного из его основных плюсов. И если ты не работаешь совместно с другими программистами то и остальные плюсы тоже немного тускловатые. Я так скажу, невозможно научиться хорошо проектировать систему работая solo. Всё потому, что основные косяки архитектуры вылазят при включении в работу нескольких исполнителей. Когда понимаешь что теперь между ними невозможно поделить работу или им постоянно надо друг к другу бегать, что бы получить ответ "как оно тут работает" и "почему тут так написано". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.11.2016, 23:07 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
Изопропилвадяроль верстальщика для сайтов может быть и нужна , но для корпоративных систем - нет. почему? любое говно сожрут? тоже подход. нет, написать вебморду для портала - это не просто на html воплотить труд дизайнера, это такая же работа как и десктоп написать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.11.2016, 23:11 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
вадянет, написать вебморду для портала - это не просто на html воплотить труд дизайнера, это такая же работа как и десктоп написать. и что это меняет? забить можно? для декстопа дизайнер интерфейса нужен так же, как и для веба (у нас почему дизайнера с верстальщиком и художником регулярно путают) ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.11.2016, 23:18 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
Програмёр, в начале трудовой деятельности мне посчастливилось работать в прекрасном коллективе . там парни сели за стол обсудили, разделили части проекта , каждый вник в свою часть , обсудили, и создали. у них были друг к другу вопросы типа - а если я тут так сделаю тебе это упростит или усложнит? и всё это без модных ныне штучек..... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.11.2016, 23:24 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
Изопропил, для порталов нужен более грамотный специалист, верстальщиком его называть это оскорбление. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.11.2016, 23:28 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
вадяИзопропил, для порталов нужен более грамотный специалист, верстальщиком его называть это оскорбление. грамотный - он везде нужен. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.11.2016, 23:33 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
кстати, что там с eval? справились без него? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.11.2016, 23:40 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
вадяПрограмёр, в начале трудовой деятельности мне посчастливилось работать в прекрасном коллективе . там парни сели за стол обсудили, разделили части проекта , каждый вник в свою часть , обсудили, и создали. у них были друг к другу вопросы типа - а если я тут так сделаю тебе это упростит или усложнит? и всё это без модных ныне штучек..... А мне ничего ни с кем обсуждать не приходилось. Я брал макет дизайнера и составлял требования к программным интерфейсам (которые пользовались всеми участниками процесса) :) Иногда было совсем в лом или некогда, тогда я просто давал макеты программисту, говорил "передай верстальщику все необходимые для этого макета данные", а верстальщику говорил "тебе во вьюху массив придёт, там всё есть" Это канечно из разряда "подвал эдишын", но что поделаешь, когда сроки горят и не хочется впустую час-другой тратить, тем более что верстальщик с полученными данными и сам разобраться может. Вопросы возникали очень редко. И то чаще всего тогда, когда верстальщик просто по незнанию затупливал или когда на страницу надо было виджет из другого модуля вогнать (этот процесс мне так и не удалось нормально отладить... уверен что это можно было сделать, но мне тогда скилов по проектированию не хватало). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.11.2016, 23:51 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
Изопропил, тут есть одна вещь в solo я вижу всю систему. могу в любой момент перераспределить "ответственость" на любую часть, мне проще решить что для системы и где должно выполняться, на клиенте, на сервере или в хранимке , мне я вижу, что если я пожертвую чем-то в одной части , что это принесёт в другой. мне не надо ни с кем спорить убеждать (редко можно хорошего оппонента, без ненужны амбиций ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.11.2016, 23:51 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
Изопропилкстати, что там с eval? справились без него? я согласился с Прорамером, но так делать не буду :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.11.2016, 23:57 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
Изопропилкстати, что там с eval? справились без него? Нет... решили что мне голову отрывать не стоит в указанном случае eval - оправданный вариант. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.11.2016, 23:58 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
вадяИзопропилкстати, что там с eval? справились без него? я согласился с Прорамером, но так делать не буду :) а я не согласился - apply и bind - для кого придуманы? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2016, 00:09 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
Изопропилвадяпропущено... я согласился с Прорамером, но так делать не буду :) а я не согласился - apply и bind - для кого придуманы? Как в указанном случае можно переписать код без eval? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2016, 00:45 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
ПрограмёрКак в указанном случае можно переписать код без eval? каком из, конкретнее. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2016, 02:14 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
ИзопропилПрограмёрКак в указанном случае можно переписать код без eval? каком из, конкретнее. 19844155 в этом... с которого и началось обсуждение eval ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2016, 02:59 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
Изопропил а я не согласился - apply и bind - для кого придуманы? у меня не получилось с ними, сможешь показать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2016, 05:08 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
ПрограмёрПотому я так быстро теряю интерес к пустому спору... потому я и удивляюсь что skyANA столько усилий приложил в попытке переубедить (честно, я бы не стал!) +1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2016, 10:25 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
вадяИзопропил, тут есть одна вещь в solo я вижу всю систему. могу в любой момент перераспределить "ответственость" на любую часть, мне проще решить что для системы и где должно выполняться, на клиенте, на сервере или в хранимке , мне я вижу, что если я пожертвую чем-то в одной части , что это принесёт в другой. мне не надо ни с кем спорить убеждать (редко можно хорошего оппонента, без ненужны амбиций ) какой там спор про MVC или сокеты или eval)). Вадю нужно убеждать даже в том что командой работать лучше и полезнее для проекта. Как объяснить одиночке в тундре, что такое шаблонный код, библиотеки и НЕ копипаст таблички в каждую страницу. Никак. Ему все оппоненты про то что куски кода надо разделять (для команды), а он про своё бормочет - как хорошо в тундре одному. Всё видно от края и до края. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2016, 10:45 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
вадяИзопропила я не согласился - apply и bind - для кого придуманы? у меня не получилось с ними, сможешь показать? давайте чётко специфицируем задачу - где и как задана вызываемая функция. Если конечно допускается Код: html 1. - только eval конечно (контекст в ajax вызове выставить - не забыть) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2016, 11:18 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
Petro123Ему все оппоненты про то что куски кода надо разделять (для команды), для себя любимого - тоже желательно, что характерно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2016, 11:23 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
вадяавторВопрос: зачем пихать в DOM элемент window[this.id]? вопрос понят так: есть дерево DOM, и зачем в это дерево ещё запихивать(добавлять) элемент window[this.id] window[this.id] - это элемент DOM, и в тоже время это объект. скажем так: с предопределёнными свойствами авторТо есть решить проблему через костыль. Спросишь, почему костыль? И я отвечу: когда ты что-то добавляешь в объект, то ты расширяешь его. И когда ты расширяешь объект свойствами и функционалом, к нему не относящимися, то это явно костыль. по навешиванию ярлыков надо быть осторожнее когда ты что-то добавляешь в объект, то ты расширяешь его. согласен полностью. И когда ты расширяешь объект свойствами и функционалом а вот тут полностью не согласен почему ты считаешь что добавленный функционал не относится к нему? Потому что ты не можешь привести пример того, когда это так. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2016, 11:27 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
вадяwindow[this.id] - это элемент DOM, и в тоже время это объект. скажем так: с предопределёнными свойствами не приходила мысль, что всякий DOM-элемент является объектом, но не всякий объект является DOM-элементом? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2016, 11:34 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
И похоже на то, что Вы, вадя, теряете суть после пары сообщений. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2016, 11:34 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
ИзопропилPetro123Ему все оппоненты про то что куски кода надо разделять (для команды), для себя любимого - тоже желательно, что характерно конечно. Программист всегда должен быть ленивым для копиПасты. Т.к. суть его работы - автоматизация всего и вся. Раскладывание "по полочкам" (слоям\файлам\функциям\библитекам\классам) - основа каждодневной работы. Тут Вадя спорит и говорит что ему удобнее обозравать всю пустыню в одиночку)). Понятно, что в голове у него не удерживаются "артефакты по полочкам уровнем больше Функция". Хотя можно прекрасно кодировать на нижнем уровне и в таком качестве). Никто не виноват в том что у Вади не было проекта из 100 табличек на 70 страничках. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2016, 12:01 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
авторне приходила мысль, что всякий DOM-элемент является объектом, но не всякий объект является DOM-элементом? раз всякий DOM-элемент является объектом, то ему принадлежит всё, что принадлежит всякому объекту в javascript/html если создаём объект var x={}; мы можем сделать так x.xxx=function(p){ alert(p);} и потом вызвать x.xxx('ooooooo''); так же не будет противоречить стандарту document.getElementById('load').aaa=function(p){ alert(p);}; и вызов document.getElementById('load').aaa('kkkkkkkkkkkkkkkkk'); чем я и воспользовался ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2016, 12:34 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
вадяавторне приходила мысль, что всякий DOM-элемент является объектом, но не всякий объект является DOM-элементом? раз всякий DOM-элемент является объектом, то ему принадлежит всё, что принадлежит всякому объекту в javascript/html если создаём объект var x={}; мы можем сделать так x.xxx=function(p){ alert(p);} и потом вызвать x.xxx('ooooooo''); так же не будет противоречить стандарту document.getElementById('load').aaa=function(p){ alert(p);}; и вызов document.getElementById('load').aaa('kkkkkkkkkkkkkkkkk'); чем я и воспользовался Это ещё на второй странице все поняли. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2016, 13:00 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
вадятак же не будет противоречить стандарту никто ж не говорит о противоречии стандартам W3C, ECMA... только об архитектуре приложения ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2016, 13:01 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
Изопропилвадятак же не будет противоречить стандарту никто ж не говорит о противоречии стандартам W3C, ECMA... только об архитектуре приложения уже лучше чем мой метод отличается от eval? с точки зрения архитектуры? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2016, 13:05 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
Изопропилвадяпропущено... у меня не получилось с ними, сможешь показать? давайте чётко специфицируем задачу - где и как задана вызываемая функция. Если конечно допускается Код: html 1. - только eval конечно (контекст в ajax вызове выставить - не забыть) нет.. по задумке вот это "foo();bar(this);" не допускается (так как я написал eval не сработает) допускается вот такое: data-onsuccess="mySuccessHandler", где mySuccessHandler - это локальная функция. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2016, 13:44 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
Програмёрдопускается вот такое: data-onsuccess="mySuccessHandler", где mySuccessHandler - это локальная функция. Код: javascript 1. 2. не вижу проблем ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2016, 16:54 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
ИзопропилПрограмёрдопускается вот такое: data-onsuccess="mySuccessHandler", где mySuccessHandler - это локальная функция. Код: javascript 1. 2. не вижу проблем расшифруй, это куда , к какому коду встваить/применить? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2016, 17:31 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
вадя, прям с языка снял (или тут правильнее сказать с клавиатуры )... Изопропил, полный вариант напиши пожалуйста ;) Что ыб мы могли в полной мере ощутить восторг и оценить твоё мастерство, а не по двум непонятным строчкам кода, в которых даже не понятно что за переменные используются) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2016, 17:33 |
|
||
|
Автоматический обработчик 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2016, 21:30 |
|
||
|
Автоматический обработчик 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. А что сделал ты - не знаю :) Но что-то явно не то. Попытка номер 2? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2016, 21:49 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
ПрограмёрНо что-то явно не то а по моему как раз то и с некоторым запасом ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2016, 21:55 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
ИзопропилПрограмёрНо что-то явно не то а по моему как раз то и с некоторым запасом Играем в 10 отличий? Не смешно 1. У меня 2 кнопки, у тебя одна 2. У тебя кнопка отправляет сразу все формы, а у меня у каждой формы свой сабмитер А давай теперь по честному... делегируй обработчик, а не опрашивай все формы на "а не вас ли тут случайно хотели отправить"... И скажи пожалуйста, если ты к каждой форме лепишь обработчик, то зачем указывать его имя в "data-onsubmit", если тогда было бы проще договориться о том, что этот обработчик всегда имеет одно и то же имя? :)) Вот ты всю дорогу критиковал вадю, а сам сейчас хитрить начинаешь и бросаться фразами "а по моему". По твоему это в какой-то другой вселенной что-ли? Если нет, тогда давай так, что бы не по-твоему, а объективно! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2016, 22:07 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
Изопропил, мужики я тащусь!!!!! Код: javascript 1. ну это ж повтор моего примера !!!!!!!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2016, 23:04 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
и стоило 11 страниц спорить???? чтоб повторить то, что было предсталено на 2 странице????? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2016, 23:17 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
вадяи стоило 11 страниц спорить???? чтоб повторить то, что было предсталено на 2 странице????? вадя, он, видимо, не ведает что делает и о чём говорит )) Дождёмся ответа, может у него и правда будет достойная аргументация для такого подхода, но я очень сомневаюсь... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2016, 23:44 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
Програмёрвадя, он, видимо, не ведает что делает и о чём говорит )) Дождёмся ответа, может у него и правда будет достойная аргументация для такого подхода, но я очень сомневаюсь... очень надеюсь, а то я голову сломал, пытаясь .bind и .apply прикрутить... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2016, 23:48 |
|
||
|
Автоматический обработчик 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 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
вадяИзопропил, у меня там только очень обязательное для инициализации при загрузки Это к Програмёр был вопрос ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2016, 17:39 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
Програмёр, вариант действительно не плохой и достоин применения и повторения, только мне что-то в нем не нравится, какое-то чутьё подсказывает, здесь что-то не то.... но это чисто моё субъективное мнение. это как ответ на Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2016, 17:56 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
вадяПрограмёр, вариант действительно не плохой и достоин применения и повторения, только мне что-то в нем не нравится, какое-то чутьё подсказывает, здесь что-то не то.... но это чисто моё субъективное мнение. это как ответ на Код: plaintext Разумеется у этого метода есть недостатки :) Вот список тех, которые я смог найти: 1. Жрёт память для функции superAjaxFunction при каждом вызове 2. Невозможно на лету добавить новый обработчик (то есть, если у меня появится новый вариант обработки ответа, то дополнить объект с хэндлерами я не смогу) 3. Я не создал объект с функционалом и нигде его не сохранил. То есть в данном случае я не смогу в последующем управлять тем, что повесил на коллекцию/селектор. Обычно плагины jquery проектируются так, что повторный вызов изменяет существующий объект, добавляет к нему опции, а не создаёт новый поверх ранее созданных 4. Даже исправление предыдущих пунктов не исправит того, что разработчику придётся задумываться над тем, к чему он сейчас применяет superAjax, к коллекции или к селектору. Вызвав код дважды: один раз для селектора и один раз для коллекции, он повесит на элементы 2 обработчика параллельно :) Вот с первыми тремя пунктами можно очень просто справиться (я необходимый хак придумал ещё тогда, когда ООП на js учил, и привёл его к виду почти полностью повторяющему классическое ООП). С четвёртым, как я и написал, дела обстоят сложнее. Одно из возможных решений, это не проверять как был сделан вызов, а заставить разработчика в явном виде указать как он хочет вызвать superAjax. Но и тут свои минусы будут, при чём побольше в размерах, чем указанные :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2016, 18:33 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
Програмёр, самокритика похвальна. мне больше понравилась фраза, что в виде плагина, давно хотел в этом разобраться, счас есть код на котором можно разобраться ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2016, 18:45 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
вадясчас есть код на котором можно разобраться смеяться или плакать? https://learn.jquery.com/plugins/ несколько адекватнее будет ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2016, 18:52 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
Изопропилвадясчас есть код на котором можно разобраться смеяться или плакать? https://learn.jquery.com/plugins/ несколько адекватнее будет возможно, но тут как бы на "натурном" примере. и есть альтернативные варианты. в тоже время описаны минусы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2016, 19:00 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
Давайте тогда спроектируем плагин, который будет отвечать всем необходимым требованиям :) Типы выборок для манипуляций 1. отдельный узел DOM 2. коллекция узлов DOM 3. селектор (подписка) Для каждой из выборок должны выполняться следующие действия: 1. В случае первого вызова superAjax для узла DOM или для селектора, должен возвращаться новосозданный объект (для последующих манипуляций над ним) 2. В случае повторного вызова superAjax для узла DOM или для селектора, должен возвращаться ранее созданный объект (для последующих манипуляций над ним) 3. В случае вызова для коллекции узлов DOM, должен вернуть коллекцию ранее созданных объектов, соответствующих каждому из указанных узлов, дополнив её новыми объектами, для тех узлов, для которых метод вызывается впервые. Правила обращений к объектам плагина 1. Все вызовы направленные объекту-коллекции должны передаваться каждому из вложенных в него объектов. 2. Все методы объекта, кроме тех, для которых указано иное, должны возвращать указатель на этот объект (this) Общие требования 1. Плагин должен быть максимально инкапсулирован, что бы исключить пересечения с другими плагинами. Сам плагин должен быть представлен единой функцией superAjax, через которую будет производится доступ ко всем функциям плагина. 2. Плагин должен быть максимально оптимизирован по потреблению памяти. 3. Весь код плагина должен полностью соответствовать специчикации ECMAScript, а манипуляции с DOM должны полностью соответствовать спецификации HTML5 Функции плагина 1. superAjax - базовый метод плагина возвращающий его объект или коллекцию объектов /* следующие функции должны быть методами объекта, возвращаемого функцией superAjax */ 2. addHandler(name, callback) - метод, добавляющий обработчик к объекту (для возможности его последующего назначения) 3. removeHandler(name) - метод, удаляющий обработчик из объекта 4. resetHandlers() - метод, удаляющий все обработчики из объекта (сбрасывают обработчики) 5. setSuccess(name) - подписывает один из ранее добавленных обработчиков на событие success (точнее меняет атрибут data-success у формы/форм) 6. setError(name) - подписывает один из ранее добавленных обработчиков на событие error (точнее меняет атрибут data-error у формы/форм) 7. remove() - удаляет объект или вложенные в него объекты (если это коллекция), предварительно отписав его/их от нужных событий. Взаимодествие с объектом формы 1. При вызове методов setSuccess или setError, в атрибуты data-success и data-error должны быть записаны соответствующие значения (названия методов) 2. При попытке отправить форму, вызов должен быть перехвачен плагином, а отправка произведена по технологии ajax. Ответ сервера должен быть обработан методом-обработчиком, указанным в атрибутах data-success или data-error отправляемой формы, в зависимости от результата запроса. Если метод с указанным именем не был ранее добавлен в объект плагина соответствующий форме, то плагин должен бросить исключение. 3. Если форме соответствуют сразу 2 или более объектов плагина, то событие submit должен перехватить последний из них, а остальные объекты не должны никак на это событие реагировать (при чём сам плагин не должен вызывать stopPropagation события или прерывать цепочку вызовов, так как другие плагины также могут быть подписаны на событие submit указанной формы) Как-то так. Такое себе мини ТЗ, надеюсь понятное не только мне, но и кому-то ещё. Сейчас уже, к сожалению, подошло время поработать (а то не хочется до 5 утра сидеть с этим), а как освобожусь, постараюсь наваять плагин, соответствующий этим требованиям. Если кому интересно, присоединяйтесь (в том числе с поправками и дополнением требований, где это необходимо). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2016, 20:52 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
ПрограмёрДавайте тогда спроектируем плагин, который будет отвечать всем необходимым требованиям :) Типы выборок для манипуляций 1. отдельный узел DOM 2. коллекция узлов DOM 3. селектор (подписка) Для каждой из выборок должны выполняться следующие действия: 1. В случае первого вызова superAjax для узла DOM или для селектора, должен возвращаться новосозданный объект (для последующих манипуляций над ним) 2. В случае повторного вызова superAjax для узла DOM или для селектора, должен возвращаться ранее созданный объект (для последующих манипуляций над ним) 3. В случае вызова для коллекции узлов DOM, должен вернуть коллекцию ранее созданных объектов, соответствующих каждому из указанных узлов, дополнив её новыми объектами, для тех узлов, для которых метод вызывается впервые. Правила обращений к объектам плагина 1. Все вызовы направленные объекту-коллекции должны передаваться каждому из вложенных в него объектов. 2. Все методы объекта, кроме тех, для которых указано иное, должны возвращать указатель на этот объект (this) Общие требования 1. Плагин должен быть максимально инкапсулирован, что бы исключить пересечения с другими плагинами. Сам плагин должен быть представлен единой функцией superAjax, через которую будет производится доступ ко всем функциям плагина. 2. Плагин должен быть максимально оптимизирован по потреблению памяти. 3. Весь код плагина должен полностью соответствовать специчикации ECMAScript, а манипуляции с DOM должны полностью соответствовать спецификации HTML5 Функции плагина 1. superAjax - базовый метод плагина возвращающий его объект или коллекцию объектов /* следующие функции должны быть методами объекта, возвращаемого функцией superAjax */ 2. addHandler(name, callback) - метод, добавляющий обработчик к объекту (для возможности его последующего назначения) 3. removeHandler(name) - метод, удаляющий обработчик из объекта 4. resetHandlers() - метод, удаляющий все обработчики из объекта (сбрасывают обработчики) 5. setSuccess(name) - подписывает один из ранее добавленных обработчиков на событие success (точнее меняет атрибут data-success у формы/форм) 6. setError(name) - подписывает один из ранее добавленных обработчиков на событие error (точнее меняет атрибут data-error у формы/форм) 7. remove() - удаляет объект или вложенные в него объекты (если это коллекция), предварительно отписав его/их от нужных событий. Взаимодествие с объектом формы 1. При вызове методов setSuccess или setError, в атрибуты data-success и data-error должны быть записаны соответствующие значения (названия методов) 2. При попытке отправить форму, вызов должен быть перехвачен плагином, а отправка произведена по технологии ajax. Ответ сервера должен быть обработан методом-обработчиком, указанным в атрибутах data-success или data-error отправляемой формы, в зависимости от результата запроса. Если метод с указанным именем не был ранее добавлен в объект плагина соответствующий форме, то плагин должен бросить исключение. 3. Если форме соответствуют сразу 2 или более объектов плагина, то событие submit должен перехватить последний из них, а остальные объекты не должны никак на это событие реагировать (при чём сам плагин не должен вызывать stopPropagation события или прерывать цепочку вызовов, так как другие плагины также могут быть подписаны на событие submit указанной формы) Как-то так. Такое себе мини ТЗ, надеюсь понятное не только мне, но и кому-то ещё. Сейчас уже, к сожалению, подошло время поработать (а то не хочется до 5 утра сидеть с этим), а как освобожусь, постараюсь наваять плагин, соответствующий этим требованиям. Если кому интересно, присоединяйтесь (в том числе с поправками и дополнением требований, где это необходимо). Наконец-то добрался.. :)) Итак, немного сменил систему вызовов. Теперь функция superAjax не возвращает объект, а просто создаёт новый или модифицирует (вызывает методы по имени). При попытке повторного создания вызов просто игнорируется. (показалось больше в стиле jquery возвращать объект jquery, чем какой-то самодельный) И ещё не заморачивался на случай, когда на один элемент повешано несколько обработчиков через разные селекторы (то, что отработать должен последний). Но там, наверное, будет достаточно в объект event добавить какой-то флаг. Ну и всё это дело ещё не тестировал... Потом ещё функционал с отправкой файлов добавлю, документацию напишу, сам плагин расширю и сделаю настраиваемым, залью на гит и стану знаменитым В общем код: Код: 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. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. 116. 117. 118. 119. 120. 121. 122. 123. 124. 125. 126. 127. 128. 129. 130. 131. 132. 133. 134. 135. 136. 137. 138. 139. 140. 141. 142. 143. 144. 145. Если тут ещё кто-то есть - критикуйте. С удовольствием выслушаю поправки и замечания (возможно кто слёту баг какой потенциальный найдёт) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.11.2016, 04:15 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
Програмёр, т.е. для отправки данных нужно обязательно form? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.11.2016, 08:37 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
ПрограмёрПотом ещё функционал с отправкой файлов добавлю, документацию напишу, сам плагин расширю и сделаю настраиваемым, залью на гит и стану знаменитым вы молодец! )) Вот на кого равняться надо. Удачи! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.11.2016, 10:45 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
Petro123ПрограмёрПотом ещё функционал с отправкой файлов добавлю, документацию напишу, сам плагин расширю и сделаю настраиваемым, залью на гит и стану знаменитым вы молодец! )) Вот на кого равняться надо. Удачи! Это сарказм? :)) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.11.2016, 13:15 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
Програмёр, совсем нет). Никаких подвохов). У вас есть и терпение и практический код. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.11.2016, 14:15 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
вадяПрограмёр, т.е. для отправки данных нужно обязательно form? не понял вопрос... поясни. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.11.2016, 14:37 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
ПрограмёрвадяПрограмёр, т.е. для отправки данных нужно обязательно form? не понял вопрос... поясни. у меня со страницы поисходит отправка с 20-30 мест кода я делаю просто con.send(строка данных); ну и внужном месте обработчик, он может быть как простой функцией, так и свойством объекта. как такое организуется в твоём случае. как организована обработка ajax на сервере, такого объёма типов сообщений? зы надо сказать что по количеству кода для ajax на стороне клиента требуется больше..... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.11.2016, 14:46 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
вадяПрограмёрпропущено... не понял вопрос... поясни. у меня со страницы поисходит отправка с 20-30 мест кода я делаю просто con.send(строка данных); ну и внужном месте обработчик, он может быть как простой функцией, так и свойством объекта. как такое организуется в твоём случае. как организована обработка ajax на сервере, такого объёма типов сообщений? зы надо сказать что по количеству кода для ajax на стороне клиента требуется больше..... 1. компонент предназначен строго для превращения обычных форм в ajax формы. То есть он предназначен именно для работы с формами (при прямой отправке функцией ajax я вообще не вижу смысла в подобном компоненте). 2. Зависит от того, как спроектирована система. Сервер может принимать запросы по разным адресам... может сам запрос разбирать и принимать решение в какой обработчик отправить... а может и ещё как-то (или смешивать обе практики). По сути, этот код отправляет ровно ту же форму, что и при обычном синхронном запросе (с перезагрузкой страницы при обычной отправке), только делает это асинхронно, ничего не перезагружая. Потому немного удивляет вопрос... возможно я тебя просто не могу правильно понять... возможно ты от моего кода хочешь чего-то большего, чего я в него не закладывал :) 3. Это не код для отправки ajax. Это код для автоматического навешивания ajax на все формы, а также на селекторы. Тут больше кода для того, что бы это стало полноценным компонентом jquery :) Как я говорил, чистая отправка ajax - вообще одна команда Код: javascript 1. 2. 3. 4. 5. 6. 7. 8. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.11.2016, 15:07 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
Програмёр, 1,3 - понял. 2- меня интересует вариант когда на один url отправляется несколько запросов -20-30 как организовано? запросов типа приведённому в п.3. не конкретная реализация а принцип. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.11.2016, 15:40 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
вадяПрограмёр, 1,3 - понял. 2- меня интересует вариант когда на один url отправляется несколько запросов -20-30 как организовано? запросов типа приведённому в п.3. не конкретная реализация а принцип. Смотря зачем они туда отправляются :) как вариант в запросе может быть указан метод обработки (в самом массиве с данными быть одним из полей)... Ну а там на что фантазии хватит. На сервере может быть обычных switch..case, if...elseif...else или вообще могут существовать разные классы обработчики. Или же запрос может вызывать какой-то метод определённой модели (зачастую небезопасно). Но я уже не помню когда мне приходилось последний раз по одному url разнотипные запросы обрабатывать. Для каждого типа запроса свой action создаётся в контроллере и в нём всё что надо делается. А клиент соответственно в зависимости от смысла запроса (его типа) шлёт его на определённый action. Учитывая что эта потребность у меня была изначально и пропала с опытом, есть предположение, что потребность в таком возникает из-за неправильной архитектуры и если не всегда, то как минимум почти всегда может быть исключена посредством правильного проектирования. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.11.2016, 17:25 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
ПрограмёрНо я уже не помню когда мне приходилось последний раз по одному url разнотипные запросы обрабатывать. Для каждого типа запроса свой action создаётся в контроллере и в нём всё что надо делается. А клиент соответственно в зависимости от смысла запроса (его типа) шлёт его на определённый action. +1 Это и есть стандарт REST - разный урл по задаче. В противоположность - один канал+свой протокол, и внутри разбирайся расшифровывай. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.11.2016, 17:34 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
авторНо я уже не помню когда мне приходилось последний раз по одному url разнотипные запросы обрабатывать. Для каждого типа запроса свой action создаётся в контроллере и в нём всё что надо делается. А клиент соответственно в зависимости от смысла запроса (его типа) шлёт его на определённый action. Учитывая что эта потребность у меня была изначально и пропала с опытом, есть предположение, что потребность в таком возникает из-за неправильной архитектуры и если не всегда, то как минимум почти всегда может быть исключена посредством правильного проектирования. вот тут и возникает вопрос подхода к проектированию. и самое интересное, что если в одном яп это нормально, то в другом это считают нонсенсом. у меня для обработки запроса на сервере требуется порядка 10 строк (бывает и больше но не часто) - логика обработки данных сосредоточена в базе. генерить на каждый запрос свой url , а практически - файл - очень накладно. я их объединяю по принадлежности к странице. авторswitch..case, if...elseif...else от использования такого я отказался , потому как чепочка из 30 case или if выглядит не очень... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.11.2016, 17:53 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
вадя, ещё раз, MVC решит твою проблему :) Всё из-за того, что ты его отверг раньше времени. Один запрос не обязательно равен одному файлу. у меня вот зачастую на весь модуль 2 контроллера: 1 для админа и 1 для рядового пользователя. В каждом контроллере десятки функций (экшенов), а каждая из них отвечает за конкретный запрос (урл). Обычно функции в контроллерах разделяют не по правам, как я, а по смыслу... Но мне так удобнее... Я просто вкладываю в разбиение смысл "это действия для <<писателя>> контента, а эти для <<читателя>>". Учитывая что чётких правил по этому поводу нет, никто не может сказать что я не прав. Просто не помню на практике того, кто бы сказал, что ему так работать не удобно и он бы сделал иначе (многие мои решения подвергались такой критике, но это - никогда :)) ). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.11.2016, 18:05 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
Програмёр, твой подход, такой же как у меня, только не применяю громких слов ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.11.2016, 18:23 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
вадяПрограмёр, твой подход, такой же как у меня, только не применяю громких слов Каких громких слов? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.11.2016, 18:43 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
skyANA, MVC ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.11.2016, 18:46 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
вадяПрограмёр, твой подход, такой же как у меня, только не применяю громких слов Приехали. Подход тот же, только споров о гениальности на 12 станиц. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.11.2016, 18:53 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
вадяПрограмёр, твой подход, такой же как у меня, только не применяю громких слов Не могу согласиться. У нас принципиально разные подходы. Иначе мы бы столько не спорили :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.11.2016, 22:11 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
вадяskyANA, MVC ... И что же в этой абревиатуре громкого? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.11.2016, 22:50 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
Програмёр, да я не спорю. просто ответь для чего нужен этот плагин? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.11.2016, 22:54 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
авторИ что же в этой абревиатуре громкого? просто она скрывает за собой необходимость городить код. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.11.2016, 22:57 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
вадяавторИ что же в этой абревиатуре громкого? просто она скрывает за собой необходимость городить код. А если её не произносить, то код что-ли сам напишется? :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.11.2016, 23:01 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
вадя, вот Вам другая абревиатура: FRP, - кода будет меньше. Попробуйте. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.11.2016, 23:05 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
skyANAвадя, вот Вам другая абревиатура: FRP, - кода будет меньше. Попробуйте. всё очень хорошо, когда знаешь область применения, и не суёшь на все проекты. у всего своя оптимальная область использования. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.11.2016, 23:35 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
вадяskyANAвадя, вот Вам другая абревиатура: FRP, - кода будет меньше. Попробуйте. всё очень хорошо, когда знаешь область применения, и не суёшь на все проекты. у всего своя оптимальная область использования. Вы готовы назвать область применения/использования FRP? Или MVC? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.11.2016, 23:39 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
авторВы готовы назвать область применения/использования FRP? Или MVC? я не готов, у меня есть своя ниша применения моих проектов, и я не вижу в ней этих методов. когда я не смогу создать проект элементарными действиями - тогда ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.11.2016, 23:45 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
вадяавторВы готовы назвать область применения/использования FRP? Или MVC? я не готов, у меня есть своя ниша применения моих проектов, и я не вижу в ней этих методов. когда я не смогу создать проект элементарными действиями - тогда ... Вот и выходит, что MVC и FRP громкие только для Вас. Крам уха слышали через форточку. Откройте что-ли окно пошире :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.11.2016, 23:51 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
вадяПрограмёр, да я не спорю. просто ответь для чего нужен этот плагин? Для того же, для чего нужен ajaxForm. Только этот плагин позволяет ещё меньше обслуживающего кода писать. По сути просто прицепил его к форме или селектору, описал обработчики событий и готово :) Ну и разумеется ajaxForm не реализует автоматический вызов разных обработчиков и их смену "на лету" Отличительная черта от большинства jquery плагинов это то, что он может быть повешен не только на конкретный массив элементов, который существует в момент вызова, а может и цепляться к "селектору", что позволяет вызвать его функцию один раз и как только какая-то из форм попадёт под правило (под селектор), она тут же зацепит указанный функционал. Считаю что так намного удобнее. удобства плагина на данный момент То есть в целом удобства плагина на данный момент (хотя он ещё зелёный до невозможности): 1. Подключение в одну строку 2. Не добавляет лишнего html кода 3. Лёгкий в настройке 4. Может подключаться по селектору без необходимости повторного вызова для подключения к новым формам (делегирует обработку событий) 5. Лёгкое отключение от формы в случае необходимости (многие плагины вообще не предусматривают возможность отключения) 6. Позволяет менять обработчики ответов сервера для разных форм "на лету". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.11.2016, 00:22 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
Програмёр, заметь, ты даже не упомянул о применении данного плагина в mvc. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.11.2016, 05:58 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
вадяПрограмёр, заметь, ты даже не упомянул о применении данного плагина в mvc. Может мне надо было ещё про шаблон мост или декоратор вспомнить? :)) В общем не понял к чему ты это сказал, но прозвучало это не круто :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.11.2016, 17:21 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
Програмёр, я не хотел ничего такого :) просто мне хочется понять как это будет в системе выглядеть. я ведб не на пустом месте такой подход использую. имея богатый опыт программирования на access, мне многие подходы странными кажутся. пусть там и 2-х звенная структура, но системы строили огромные, и очень сложные. то что счас тут ругают там применяли и применяют. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.11.2016, 18:35 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
вадя, Если бы ты что то любил кроме своего кода, можно было бы понять. Или MVVP вместо MVC. А то ведь ничего кроме первой любви юности). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.11.2016, 18:48 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
вадяПрограмёр, я не хотел ничего такого :) просто мне хочется понять как это будет в системе выглядеть. я ведб не на пустом месте такой подход использую. имея богатый опыт программирования на access, мне многие подходы странными кажутся. пусть там и 2-х звенная структура, но системы строили огромные, и очень сложные. то что счас тут ругают там применяли и применяют. Я тоже принимал участие в разработке системы, что успешно крутилась на сотнях серверов по всей России. Часы простоя исчислялись миллионами рублей. И что? Это мне никак не мешает применять сегодня различные подходы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.11.2016, 18:56 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
я не проит применять разные подходы. тут уже писали про кроиков и гаубицы... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.11.2016, 19:15 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
вадяя не проит применять разные подходы. тут уже писали про кроиков и гаубицы... Вадя, как часто ты в своей работе используешь наработки других программистов? Часто ведь? взять даже ту же openCMS или как там её. :) Ты ведь не сам её писал, но в работе пользуешь. А теперь представь, что у тебя её не было и тебе пришлось бы придумывать и писать её с нуля. Это лишние затраты? То есть результатом этого интеллектуального труда других ты пользуешься и не говоришь "я не использую умных слов", хотя реально именно их ты и используешь... каждая чужая функция - это одно из его умных слов. С другой стороны есть интеллектуальный труд других в виде идеи. Кто-то, кто хорошо знает программирование и сталкивается со множеством задач подумал, и придумал шаблон поведения (шаблон мышления, работы или написания кода), который решает те или иные проблемы. И в этот момент, когда тебе говорят что есть чужая интеллектуальная наработка, которая решает твою задачу, ты говоришь "я не использую умных слов" и "про кроликов и гаубицы". Какие-то двойные стандарты прям. Чем этот интеллектуальный труд отличается от интеллектуального труда вложенного в код OpenCMS? Разумеется дело каждого какие инструменты использовать, но я могу назвать уйму причин почему следует в работе пользоваться чужими уже проверенными наработками, а не создавать свои собственные. Исключение - если чужие наработки не решают имеющиеся задачи или накладывают ограничения (например правовые)... Но сейчас их столько, что зачастую каждую задачу можно решить просто погуглив :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.11.2016, 19:55 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
Програмёр, в твоих словах много мудрости. и я со многим согласен, но позволю себе несколько не привычныйдля некоторых товарищей подход, я не отрицаю всю прелесть и возможности их методов, хочу и от них адекватного отношения. из опыта акса я вынес необходимость качественного построения базы- таблицы, связи , индексы . и только потом всё осталное , в аксе все строится на обработке (отображении результатов) запросов к базе. единственное что там мешало - невозможность работать через веб ws снимает это ограниение. есть база, есть хранимки обрабатывающие данные и возвращающие готовые для отображения данные. js позволяет сформировать данные для зпароса в удобном виде - ws передать на сервер, на сервере запустить хранимку и отдать результат. посты в ветке по java и тут позволяют сделать вывод, что работа с базами это ахилесова пята. очень и очень низкий уровень. для меня же получить нужные и удобные для отображения данные (тем более в хранимке) не проблема. по сути получается двухзвенка. в аксе такое считается правильным там куча запросов к базе/серверу. стоимость запроса с использование ajax , несколько лет назад, до jquery, была очень высока, поэтому от них и отказались в пользу других методов, но новые методы jquery и ws (тем более) позволяют взять многое из старого, развитие идёт по спирали. и проекты в аксе строили и строят не одиночки и сложность проектов достаточна, поэтому опыт из акса я считаю отвергать не стоит. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.11.2016, 20:40 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
вадя, если коротко, то ты взял за образец ВЕБ проекта, проект из десктопа даже не клиент-сервер(Access). Все остальные слова, это так - информационный шум. Про сокеты и AJAX мы уже разобрали. Скучно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.11.2016, 21:21 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
авторесли коротко, то ты взял за образец ВЕБ проекта, проект из десктопа даже не клиент-сервер(Access). можно и так сказать, только именно клиент-сервер(Access) . проект .adp а это полнофункциональный клиент для mssql, ориентированный на использование хранимых процедур. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.11.2016, 21:40 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
вадяможно и так сказать, только именно клиент-сервер(Access) . проект .adp С этим костылём он только стал похожим на Delphi и бейсик. Но никак не на веб проект. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.11.2016, 22:21 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
Petro123вадяможно и так сказать, только именно клиент-сервер(Access) . проект .adp С этим костылём он только стал похожим на Delphi и бейсик. Но никак не на веб проект. от него этого и не требовалось, он и так был похож на делфи :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.11.2016, 22:40 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
вадяпосты в ветке по java и тут позволяют сделать вывод, что работа с базами это ахилесова пята. очень и очень низкий уровень. ResultSet и Statement в java ничем особо не отличается от RecordSet и Command в аксесс, о каком низком уровне при использовании ORM речь идёт? ------------------------------------ -Ну и гавно этот ваш Карузо! - Мойша, ты слышал его в ЛА Скала? )) - Да Нет, Рабинович напел... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.11.2016, 23:03 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
вадяот него этого и не требовалось, он и так был похож на делфи :) ты контекст потерял? Зачем его нахваливать в веб проектах? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.11.2016, 23:20 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
вадяПрограмёр, в твоих словах много мудрости. и я со многим согласен, но позволю себе несколько не привычныйдля некоторых товарищей подход, я не отрицаю всю прелесть и возможности их методов, хочу и от них адекватного отношения. из опыта акса я вынес необходимость качественного построения базы- таблицы, связи , индексы . и только потом всё осталное , в аксе все строится на обработке (отображении результатов) запросов к базе. единственное что там мешало - невозможность работать через веб ws снимает это ограниение. есть база, есть хранимки обрабатывающие данные и возвращающие готовые для отображения данные. js позволяет сформировать данные для зпароса в удобном виде - ws передать на сервер, на сервере запустить хранимку и отдать результат. посты в ветке по java и тут позволяют сделать вывод, что работа с базами это ахилесова пята. очень и очень низкий уровень. для меня же получить нужные и удобные для отображения данные (тем более в хранимке) не проблема. по сути получается двухзвенка. в аксе такое считается правильным там куча запросов к базе/серверу. стоимость запроса с использование ajax , несколько лет назад, до jquery, была очень высока, поэтому от них и отказались в пользу других методов, но новые методы jquery и ws (тем более) позволяют взять многое из старого, развитие идёт по спирали. и проекты в аксе строили и строят не одиночки и сложность проектов достаточна, поэтому опыт из акса я считаю отвергать не стоит. "я не отрицаю всю прелесть и возможности их методов, хочу и от них адекватного отношения" - кого "их"? )) Если ты о том, кто паттерны придумывает общеизвестные, то я очень сомневаюсь что они на этом форуме сидят. Зачастую эти ребята русского не знают :) Так что странно ожидать от них, что они прислушаются к каким-то из твоих слов... они их просто вероятнее всего не услышат "из опыта акса я вынес необходимость качественного построения базы- таблицы, связи , индексы" - согласен, но темы не касается :) про БД комментировать не хочу, потому что снова застрянем на споре по бд, а мне это поднадоело... а вот дальше интереснее: "стоимость запроса с использование ajax , несколько лет назад, до jquery, была очень высока, поэтому от них и отказались в пользу других методов" - история jquery . Как видим jquery умела работать с ajax уже в январе 2006 года (11 лет назад!!!). Сам ajax стала официальной технологией в начале 2005-ого... и ничего там сложного и затратного не было... я первый год работы программистом противился разным фреймворкам, а потому точно знаю как с ajax без jquery работать :)) Да и всё остальное без jquery делать могу на чистом js. А до того, как в js добавили XMLHttpRequest, был ещё такой прекрасный элемент как iframe. Его использовали даже когда XMLHttpRequest уже был.. для отправки файлов использовали, так как этот новый объект не давал такой возможности. Так вот, iframe вообще фиг знает когда появился... я ещё будучи совсем малым (лет 14 назад) когда только приступал к изучению программирования и иногда с html и js дурачился, он уже там был. Пишут что майкрософт его добавила ещё в 96-ом году... думаю другие не намного позже :) Как-то не очень правдоподобно причина выбора других технологий звучит. Больше смахивает на "просто не знал что можно иначе" :) Так что никакого "по спирали" тут нет. По спирали идёт история, мода (и дизайн в целом) и другие гуманитарные направления. Я не представляю себе что значит пойти по спирали в науке про информацию или в математике... Это значит просто забыть несколько десятков/сотен лет наработок? Зачем тогда такая наука? :)) P.S. не знаю правда ли, но помню не раз слышал что access самая убогая из всех существующих СУБД :) Сам в ней не работал, но учитывая такой настрой общества против этого инструмента - далеко не факт, что принимаемые на его основе решения являются хотя бы близки к оптимальным... Кстати, я тут поглядел статистику использования СУБД... MS Access где-то далеко-далеко. Процент настолько мал, что она даже в рейтинги зачастую не включается. Или её переименовали? (нашёл только в одном рейтинге, где она занимала 0.4% от общего числа... рейтинг использования в отделениях федеральных органов власти в россии... в остальных рейтингах она отсутствовала). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2016, 00:13 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
авторResultSet и Statement в java ничем особо не отличается от RecordSet и Command в аксесс, я ведь не об этом , для меня только буквами в названии, но те кто их используют отличаются друг от друга в десятки раз. не первый год наблюдаю, сколько усилий тратят на решение элементарных задач, сколько кода наворачивают.... 2Програмёр про стоимость. я не отрицаю, что у тебя и у тех, кто занимается ajax, есть наработки на ajax, позволяющие снизить стоимость , но мне есть с чем сравнивать. тот же плагин, количество кода, да само его наличие, говорит о многом. это относится не только к клиентской части, ко всей системе. смахивает на .. не читал, но осуждаю... авторавторЭто значит просто забыть несколько десятков/сотен лет наработок? Зачем тогда такая наука? :)) спираль от круга отличается. я, наоборот, предлагаю не забывать , а использовать то, что лучшее было. авторP.S. не знаю правда ли, но помню не раз слышал что access самая убогая из всех существующих СУБД по аксу ты озвучил довольно распространённое мнение, в ветке акса об этом много спорили. но в нём есть одно неоспоримое - он учит плотно работать с базой, не важно файл-сервер или клиент-сервер. я с ним работал, и могу сказать, что его возможности очень огромны, у него своя ниша. убогость заключается в головах тех кто распространяет слухи про убогость. счас модно хибер использовать, но хибер не сможет использовать все возможности , которые придумали разрабы для mssql и mysql , не говоря уж о куче других . меня бесит - когда придумали новый инструмент, намного облегчающий жизнь, столько шуму против него , чем это вызвано? страхом перед новым, боязнью изучить? потерять наработанное? костностью мышления? это напоминает бунты против машин в Англии. знаний хватает - используйти новый инструмент и достигните новых уровней. MVVP , MVC, FRP и можно ещё продолжать. может быть стоит остановиться на размножении этих абривиатур? одно их количество говорит о том, что допустимы многие подходы к программированию. на том же хабре появляются статьи защищающие функциональное программирование. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2016, 07:56 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
вадяMVVP , MVC, FRP и можно ещё продолжать. может быть стоит остановиться на размножении этих абривиатур? Может тогда в развитии информационных технологий стоит остановиться? :) От того что в Вашей узенькой нише стагнация, другим-то зачем останавливаться? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2016, 09:30 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
вадяавторResultSet и Statement в java ничем особо не отличается от RecordSet и Command в аксесс, я ведь не об этом , для меня только буквами в названии, но те кто их используют отличаются друг от друга в десятки раз. не первый год наблюдаю, сколько усилий тратят на решение элементарных задач, сколько кода наворачивают.... 2Програмёр про стоимость. я не отрицаю, что у тебя и у тех, кто занимается ajax, есть наработки на ajax, позволяющие снизить стоимость , но мне есть с чем сравнивать. тот же плагин, количество кода, да само его наличие, говорит о многом. это относится не только к клиентской части, ко всей системе. смахивает на .. не читал, но осуждаю... авторпропущено... спираль от круга отличается. я, наоборот, предлагаю не забывать , а использовать то, что лучшее было. авторP.S. не знаю правда ли, но помню не раз слышал что access самая убогая из всех существующих СУБД по аксу ты озвучил довольно распространённое мнение, в ветке акса об этом много спорили. но в нём есть одно неоспоримое - он учит плотно работать с базой, не важно файл-сервер или клиент-сервер. я с ним работал, и могу сказать, что его возможности очень огромны, у него своя ниша. убогость заключается в головах тех кто распространяет слухи про убогость. счас модно хибер использовать, но хибер не сможет использовать все возможности , которые придумали разрабы для mssql и mysql , не говоря уж о куче других . меня бесит - когда придумали новый инструмент, намного облегчающий жизнь, столько шуму против него , чем это вызвано? страхом перед новым, боязнью изучить? потерять наработанное? костностью мышления? это напоминает бунты против машин в Англии. знаний хватает - используйти новый инструмент и достигните новых уровней. MVVP , MVC, FRP и можно ещё продолжать. может быть стоит остановиться на размножении этих абривиатур? одно их количество говорит о том, что допустимы многие подходы к программированию. на том же хабре появляются статьи защищающие функциональное программирование. Наработок по ajax у меня нет :) Для этих целей у меня есть только одна чужая наработка - jquery и умение её использовать (то есть банальный опыт) "тот же плагин, количество кода, да само его наличие, говорит о многом" - последний мой код появился за 2 часа работы... тот что до него за 30 минут... а тот, который я писал в первом своём сообщении - за 10 минут. Так что наличие этого плагина говорит лишь о том, что у меня было 2 часа свободного времени, что бы его написать :) (а написанием его я занялся именно обсуждая эту тему) "спираль от круга отличается. я, наоборот, предлагаю не забывать , а использовать то, что лучшее было." - софистика в чистом виде :) Вопрос не о геометрии этих фигур, а о том, что в программировании отвергнутые технологии никогда в строй не возвращаются. Иначе такое отвергание считается не "витком эволюции" а банальной ошибкой!!! Так что ни кругов ни спиралей ни эллипсов в программировании и математике НЕТ (как и в других точных науках)! "по аксу ты озвучил довольно распространённое мнение" - так может оно правильное? Знаешь, у нас был очень хороший учитель по военному делу в школе и он часто фразу такую говорил "это не я ногу сбиваю, а строй неправильно идёт!". Разумеется намекая на то, что ученик не хочет свою ошибку признать... Так вот, может и в нашем случае ногу сбивает не строй, а кто-то конкретный "меня бесит - когда придумали новый инструмент, намного облегчающий жизнь, столько шуму против него , чем это вызвано?" - о каком инструменте речь сейчас? (пример) "MVVP , MVC, FRP и можно ещё продолжать. может быть стоит остановиться на размножении этих абривиатур? одно их количество говорит о том, что допустимы многие подходы к программированию." - не стоит! Эта фраза равносильна "может не надо придумывать новых алгоритмов, ведь просто количество известных алгоритмов говорит о том, что программировать можно как угодно". Однако я посмотрел бы как сейчас развивались те же социальные сети, если бы не были придуманы алгоритмы работы с графами... Если бы ещё начиная со школы нам бы не рассказывали что такое графы, зачем нужны и как с ними работать (их основные разновидности и решаемые задачи). Ну и деревья, бинарные деревья, двоичный/бинарный поиск, хэш функции, поиск по хэш функциям и многое другое что мы знаем и используем... просто никогда не задумываемся, потому что учим это с самого начала и воспринимаем не как готовое решение, а как инструмент (хотя реально это готовое решение для нас, по типу того же MVC) Останавливаться стоит только тогда, когда тебя это больше не интересует... Если в науке людей перестаёт интересовать одно из основных направлений этой науки, она обычно забывается и уходит на второй план уступая место другим. Я такого информатике не желаю... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2016, 16:19 |
|
||
|
Автоматический обработчик html форм на JS
|
|||
|---|---|---|---|
|
#18+
Нежданчик. Новосозданный компонент в работе пригодился :) К форме надо обработчик на лету привязать. Не думал что это так скоро случится... Ещё раз убеждаюсь что разную мелочёвку в свободное время надо почаще писать. Лишней не будет :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2016, 04:41 |
|
||
|
|

start [/forum/topic.php?all=1&fid=22&tid=1444910]: |
0ms |
get settings: |
9ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
61ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
264ms |
get tp. blocked users: |
2ms |
| others: | 297ms |
| total: | 666ms |

| 0 / 0 |
