
Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
25.10.2008, 15:50
|
|||
|---|---|---|---|
|
|||
(JavaScript) Динамическое назначение метода onclick |
|||
|
#18+
Итак, требуется средствами JS трансформировать ссылки Код: plaintext Код: plaintext Для решения поставленной был написан следующий код: Код: plaintext 1. 2. 3. 4. 5. 6. 7. Затем был этот код переписан для дальнейшей совместимости: Код: plaintext 1. 2. 3. 4. 5. 6. 7. Для ещё большей совместимости имеем такой вариант: Код: plaintext 1. 2. 3. 4. 5. 6. 7. Прошу помочь написать новый вариант кода, который бы работал во всех упомянутых браузерах. А вообще задача сейчас свелась к тому, чтобы в последнем варианте кода для каждой ссылке был свой вариант функции AJAXRequest. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
25.10.2008, 17:14
|
|||
|---|---|---|---|
(JavaScript) Динамическое назначение метода onclick |
|||
|
#18+
NT Man, в первом случае не работает потому, что в событие onclick ты помещаешь строку вместо функции. В опере видимо срабатывает неявный eval, в других - нет. Можно было попробовать поработать с eval. Но выбран третий метод - это хорошо. Чтоб его реализовать, почитайте в тырнете про замыкания в js. Касательно данного случая: Код: plaintext 1. 2. 3. 4. 5. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
25.10.2008, 19:59
|
|||
|---|---|---|---|
(JavaScript) Динамическое назначение метода onclick |
|||
|
#18+
Ну, или с помощью установки слушателя событий (не уверен, что проблему обойдет - 50 на 50, что передаст уже измененный параметр): Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. А вообще-то, конечно, используется в таких случаях замыкание. Если ты глубоко не изучал javascript и слабо знаком с некоторыми технологиями, то слудующий вариант с использованием замыкания выглядит немного проще для понимания, хотя вариант illion , конечно, наиболее лаконичен. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. P.S. Мелко плаваю в регулярных выражениях, поэтому просто скопировал выражения вычленения частей у illion . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
25.10.2008, 22:59
|
|||
|---|---|---|---|
(JavaScript) Динамическое назначение метода onclick |
|||
|
#18+
IDVsbruckНу, или с помощью установки слушателя событий (не уверен, что проблему обойдет - 50 на 50, что передаст уже измененный параметр): ты бы какбэ мозг включал, чтобы уменьшить вероятность ошибки и не заниматься тестированием методом тыка, не обойдет 100%, можешь даже код не запускать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
25.10.2008, 23:23
|
|||
|---|---|---|---|
|
|||
(JavaScript) Динамическое назначение метода onclick |
|||
|
#18+
illion, спасибо я понял свою ошибку. У меня page_param[1], брался из [[scope]] функции, где page_param[1] менял свои значения всех ссылок, а когда внешняя функция заканчивала работу в page_param[1] осталось последнее значение. Обернув, функцию ещё одной функцией ты обеспечил сохранение каждого значения. Прочитав http://javascript.ru/tutorial/basic/closure меня стало беспокоить что, замкнув функцию, в памяти держаться все значения внешней функции. А там у меня массив объектов. Ниже полный код: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
25.10.2008, 23:27
|
|||
|---|---|---|---|
(JavaScript) Динамическое назначение метода onclick |
|||
|
#18+
Не остается, так как link у Вас только как параметр при вызове функции. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
26.10.2008, 06:15
|
|||
|---|---|---|---|
(JavaScript) Динамическое назначение метода onclick |
|||
|
#18+
что-то не нравится мне новый SRC html - код стал совсем нечитаемым. Пойду в ОНС жаловаться. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
05.11.2008, 21:29
|
|||
|---|---|---|---|
|
|||
(JavaScript) Динамическое назначение метода onclick |
|||
|
#18+
Теперь пытаюсь динамически менять формы. Требуеться все submit кнопки сделать простыми кнопками, и повесить на нах onclick, как и в первом случае. но не тут-то было. Даже не знаю в чём тут дело. Тону, help... Вот многострадальный код. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
05.11.2008, 21:42
|
|||
|---|---|---|---|
(JavaScript) Динамическое назначение метода onclick |
|||
|
#18+
Так ведь ретурн фальсе и надо бы поюзать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
05.11.2008, 22:14
|
|||
|---|---|---|---|
|
|||
(JavaScript) Динамическое назначение метода onclick |
|||
|
#18+
Либо я не понял о чем ты, но: Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
05.11.2008, 22:21
|
|||
|---|---|---|---|
(JavaScript) Динамическое назначение метода onclick |
|||
|
#18+
Об этом как раз. Значит, не помогло. Надо думать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
05.11.2008, 22:34
|
|||
|---|---|---|---|
(JavaScript) Динамическое назначение метода onclick |
|||
|
#18+
ПС. Кстати, субмит на буттон не имеет смысла менять, т.к. буттон по умолчанию - тот же сабмит. Вся фигня в этом самом ретурн фальсе, но чего-то не особенно чего-то и заметно... . Попробуй-ка написать в своём function(y,x){return false}. Отсабмитится или нет. Если - нет - ищи ошыбку у себя в коде. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
05.11.2008, 23:03
|
|||
|---|---|---|---|
|
|||
(JavaScript) Динамическое назначение метода onclick |
|||
|
#18+
Кажется нашел проблему. Почему var page_param = form.getAttribute('action'); возвращает object, а не строку? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
05.11.2008, 23:15
|
|||
|---|---|---|---|
(JavaScript) Динамическое назначение метода onclick |
|||
|
#18+
Я такой конструкции не заметил. Заметил только, что page_param у тебя - массив чегото-там. А эта конструкция - нормально должна сработать. Даже в том случае, если раньше был массив. Может лучше написать: var page_param = form.action; ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
05.11.2008, 23:59
|
|||
|---|---|---|---|
|
|||
(JavaScript) Динамическое назначение метода onclick |
|||
|
#18+
Отвечу сам себе... Оказывается и здесь меня подстерегал очередной глюк IE. Подробности на английском здесь Ниже полностью рабочий под всеми браузерами код. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=22&tablet=1&tid=1455628]: |
0ms |
get settings: |
8ms |
get forum list: |
20ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
205ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
55ms |
get tp. blocked users: |
2ms |
| others: | 224ms |
| total: | 535ms |

| 0 / 0 |
