|
|
|
Правильно внедриться/перехватить
|
|||
|---|---|---|---|
|
#18+
Возникла необходимость перехватить submit(). Код: plaintext 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. Mozilla->Tools->Web Development->JavaScript Console Error: uncaught exception: [Exception... "Illegal operation on WrappedNative prototype object" nsresult: "0x8057000c (NS_ERROR_XPC_BAD_OP_ON_WN_PROTO)" location: "JS frame :: http://localhost/AnyTest/test/others/TestAutoPostBack/TestAutoPostBackI.aspx :: DoOnSubmit :: line 18" data: no] Mozilla FireFox->Tools->Error Console Error: uncaught exception: [Exception... "Illegal operation on WrappedNative prototype object" nsresult: "0x8057000c (NS_ERROR_XPC_BAD_OP_ON_WN_PROTO)" location: "JS frame :: http://localhost/AnyTest/test/others/TestAutoPostBack/TestAutoPostBackI.aspx :: DoOnSubmit :: line 18" data: no] В DoOnSubmit() typeof(OrgSubmit)="function" (BTW, осел дает object) Попробовал посредством Mozilla -> Tools -> Web Development -> JavaScript Debugger посмотреть, но он че-то так подозрительно трейсит - скачет как угорелый практически по всем statement'ам... Да и не нашел я в переменных OrgSubmit... В опчем - как можно сие растолкать под мозилкой? _________________ "Helo, word!" - 17 errors 56 warnings Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2008, 17:02 |
|
||
|
Правильно внедриться/перехватить
|
|||
|---|---|---|---|
|
#18+
Из Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. надо function CaptureSubmit() { var Ctrl; if (Ctrl == document.forms["TestAutoPostBackIForm"]) { OrgSubmit = Ctrl.submit; Ctrl.submit = DoOnSubmit; } } (условие все-таки) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2008, 17:43 |
|
||
|
Правильно внедриться/перехватить
|
|||
|---|---|---|---|
|
#18+
IDVsbruck if (Ctrl == document.forms["TestAutoPostBackIForm"]) .... (условие все-таки) читайте буквари и не позорьтесь... Флеймить - сюда _________________ "Helo, word!" - 17 errors 56 warnings Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2008, 17:51 |
|
||
|
Правильно внедриться/перехватить
|
|||
|---|---|---|---|
|
#18+
Общая идея такая, что submit() - некий метод, который вызывает сабмит формы программным пуием и не обязательно может быть переопределен. Поэтому используем событие onsubmit. Если возвращает true - submit срабатывает иначе - нет Код: plaintext 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2008, 19:53 |
|
||
|
Правильно внедриться/перехватить
|
|||
|---|---|---|---|
|
#18+
Разумеется, onsubmit сраббатывает тлько при интерактивном нажатии кнопки. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2008, 19:55 |
|
||
|
Правильно внедриться/перехватить
|
|||
|---|---|---|---|
|
#18+
apapacy Разумеется, onsubmit сраббатывает тлько при интерактивном нажатии кнопки Вооот!!! Выставился на свою голову в нескольких форумах и везде одно и то же: вызов Form.submit() не возбуждает onsubmit . Грубо говоря - представьте себе, что форма тупо submit'иться из некой функции Код: plaintext 1. 2. 3. 4. _________________ "Helo, word!" - 17 errors 56 warnings Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2008, 20:15 |
|
||
|
Правильно внедриться/перехватить
|
|||
|---|---|---|---|
|
#18+
дрозофила _________________ "Helo, word!" - 17 errors 56 warnings ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2008, 20:55 |
|
||
|
Правильно внедриться/перехватить
|
|||
|---|---|---|---|
|
#18+
А может зациклить с сервером? Форма ушла - сервер плюнул в браузер.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2008, 21:28 |
|
||
|
Правильно внедриться/перехватить
|
|||
|---|---|---|---|
|
#18+
Ex_Soft Грубо говоря - представьте себе, что форма тупо submit'иться из некой функции Ну тогда методом Колумба Код: plaintext 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2008, 22:02 |
|
||
|
Правильно внедриться/перехватить
|
|||
|---|---|---|---|
|
#18+
Ёлки-палки, действительно - онсубмит не ловится. Первый раз своими глазами увидел. До сих пор не верю - может какой секрет есть? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2008, 22:16 |
|
||
|
Правильно внедриться/перехватить
|
|||
|---|---|---|---|
|
#18+
Ex_Soft IDVsbruck if (Ctrl == document.forms["TestAutoPostBackIForm"]) .... (условие все-таки) читайте буквари и не позорьтесь... Флеймить - сюда _________________ "Helo, word!" - 17 errors 56 warnings Posted via ActualForum NNTP Server 1.4сам штоле почтал бы. ваще, товарищи, вы меня извините, но самое тупое решение меньше в пять раз чем вы тут пишете и мерятесь длиной органов. я просто в явоскрипте вобще не понимаю и написал так как мог: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. щас объясню чо и как. ставим фокус в инпут[текст] и нажмаем на клавиатуре кнопку ентер. происходит обыкновенный сабмит формы. натуральный. экологически чистый. супо! все работает. а теперь нажмаем кнопку. ой! тоже работаит! штож такое? PS красиво раскрашенный это пример кода можно посмотреть в разделе форума " все для настоящего web-программиста " ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2008, 23:22 |
|
||
|
Правильно внедриться/перехватить
|
|||
|---|---|---|---|
|
#18+
Ghirik А может зациклить с сервером? Форма ушла - сервер плюнул в браузер.... Ноги проблемы растут отсюда Как раз нуна прибить возможность повторного submit'а... Если бы сервер успевал все быстро отработать - такие прыжки с переподвыпеодвертом над гибралтаром не понадобились бы... apapacy тогда методом Колумба Чет ниасилил силу Вашей мЫсли :( В чем прЫкол-то? ShSerge действительно - онсубмит не ловится...может какой секрет есть? А чего он должен ловиться? В начале идет onsubmit, а затем submit(). Но, если прямо вызвать submit(), то onsubmit - мимо кассы... JavaScript.The Definitive Guide. David Flanagan Методы Форма наследует методы от HTMLElement и определяет следующие методы: .... submit() Передает данные из формы. .... Обработчик событий Форма наследует обработчики событий от HTMLElement и определяет следующие методы: .... onsubmit Вызывается непосредственно перед передачей данных формы. .... Далее курим события и обрабоку событий JavaScript.The Definitive Guide. David Flanagan ....для метода onsubmit объекта Form или метода onclick объекта Submit: вызов метода запускает функцию-обработчик события, но не приводит к передаче данных формы. (Чтобы на самом деле передать данные формы, мы вызываем метод submit() объекта Form.) _________________ "Helo, word!" - 17 errors 56 warnings Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2008, 23:24 |
|
||
|
Правильно внедриться/перехватить
|
|||
|---|---|---|---|
|
#18+
agrasoffPS красиво раскрашенный это пример кода можно посмотреть в разделе форума " все для настоящего web-программиста " забыл сказать. проверил ещо это на 4 браузерах токашто: ie 7, ff 2, opera 9.5, safari 3. везде работает одинаково. наверно чисто случайно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2008, 23:26 |
|
||
|
Правильно внедриться/перехватить
|
|||
|---|---|---|---|
|
#18+
Ex_SoftДалее курим события и обрабоку событий вот от тово что ты куришь - будет рак Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2008, 23:27 |
|
||
|
Правильно внедриться/перехватить
|
|||
|---|---|---|---|
|
#18+
Остался только один вопрос: почему Код: plaintext 1. 2. 3. _________________ "Helo, word!" - 17 errors 56 warnings Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2008, 23:43 |
|
||
|
Правильно внедриться/перехватить
|
|||
|---|---|---|---|
|
#18+
Да, я - точно заглючил. Вообще-то я никогда и не обрабатывал онсубмит. Обычно, данные проверяю на онклик кнопочки (простой, типа буттон), а если она лежит на форме - ещё и ретурн фальсе, чтоб форма не отсубмитилась (в ИЕ - не субмитится, в других браузерах - сплошь и рядом). Потом уже форм.субмит(). Вся хреновость заключается в том, что другим советовал. Спасибо, Ex_Soft. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2008, 23:46 |
|
||
|
Правильно внедриться/перехватить
|
|||
|---|---|---|---|
|
#18+
Ex_Soft Чет ниасилил силу Вашей мЫсли :( В чем прЫкол-то? Да какая уж сила мысли. Элементарщина. Прикол в том что в Вашей целевой функции вы "цепляете" не submit(), а некий произвольный метод, например mambit(), который вызывает последовательно onsubmit() и submit(). Переопределять submit() - я бы все же не рекомендовал. Т.к. submit() - это не JavaScript функция, а native. Это означает, что теоретически не все модели браузера будут позволять корректно переопределять этоу функцию. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2008, 23:51 |
|
||
|
Правильно внедриться/перехватить
|
|||
|---|---|---|---|
|
#18+
agrasoff Ex_SoftДалее курим события и обрабоку событий вот от тово что ты куришь - будет рак Код: plaintext да тут походу не то курят... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2008, 23:52 |
|
||
|
Правильно внедриться/перехватить
|
|||
|---|---|---|---|
|
#18+
apapacyЭто означает, что теоретически не все модели браузера будут позволять корректно переопределять этоу функцию.удевительно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2008, 00:08 |
|
||
|
Правильно внедриться/перехватить
|
|||
|---|---|---|---|
|
#18+
agrasoff удевительно. Угу... Особенно когда по отдельности Код: plaintext 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. А если в купе Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. _________________ "Helo, word!" - 17 errors 56 warnings Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2008, 00:25 |
|
||
|
Правильно внедриться/перехватить
|
|||
|---|---|---|---|
|
#18+
Ex_Soft Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. я привел в этом топике очень мощный вариант решения. работает во всех браузерах, которые сейчас использует человек больше всево. досведания. спасибо завне мание. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2008, 00:33 |
|
||
|
Правильно внедриться/перехватить
|
|||
|---|---|---|---|
|
#18+
agrasoff буть проще /me думает: к чему бы это? Вариант решения меня, действительно, удовлетворил, но Вы так и не ответили на мой вопрос . Или это не Ваше решение? _________________ "Helo, word!" - 17 errors 56 warnings Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2008, 00:59 |
|
||
|
Правильно внедриться/перехватить
|
|||
|---|---|---|---|
|
#18+
Все срослось - мозилке нужен был caller Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. _________________ "Helo, word!" - 17 errors 56 warnings Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2008, 17:28 |
|
||
|
Правильно внедриться/перехватить
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. _________________ "Helo, word!" - 17 errors 56 warnings Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2008, 17:53 |
|
||
|
|

start [/forum/topic.php?fid=22&msg=35086210&tid=1457014]: |
0ms |
get settings: |
5ms |
get forum list: |
17ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
145ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
58ms |
get tp. blocked users: |
1ms |
| others: | 217ms |
| total: | 458ms |

| 0 / 0 |
