Вы не зашли.
#1.
TLENS
Off
(14)
Moderator
2011.02.06 16:04
Я вот вызываю таким образом он срабатывает на ссылках и формах.
Вот вопрос как ето все реализовать чтобы не записывало в историю.
Код:
| this.setAttribute('target','myframe'); |
смысл? от чего ты пытаешься защититься?
#3.
TLENS
Off
(14)
Moderator
2011.02.06 17:05
Ну я использую такой код типа ajax.
Сам аякс чет не могу осилить.
Код:
| <a href="file.php?page=1" onClick="this.setAttribute('target','myframe');">Go</a> |
| |
| <form method="post" action="file.php?" onSubmit="this.setAttribute('target','myframe');"> |
| <input type="text" name="page" /> |
| <input type="submit" value="go" /> |
| </form> |
| |
| |
| <iframe onLoad="window.document.getElementById('content').innerHTML=myframe.document.body.innerHTML;" frameborder='0' width='0' height='0' name="myframe" id="myframe"> |
| </iframe> |
| <br /> |
| <test id="content"></test> |
Но при каждом получении кода работает команда назад.
Надо чтобы при некоторых вызовах запретить перемещение назат
Добавлено спустя 3 минуты 13 секунд: этот пример ты по идее мне давал.
Вот его и решил юзать
#4.
TLENS
Off
(14)
Moderator
2011.02.06 22:10
Ладно вощем.
Там я так подумал пусть пишет в историю у меня тут другая проблема появилась
три моих iframe почемуто дают ошибку.
Код:
| <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> |
| |
| <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ru" lang="ru"> |
| |
| <head> |
| |
| <title>Goo</title> |
| |
| <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> |
| <script src="/themes/green/js.js"></script> |
| <link rel="stylesheet" href="/themes/green/style.css" type="text/css" /> |
| </head><body align="center" onLoad="start();"> |
| <iframe onLoad="window.document.getElementById('frame-content-left').innerHTML=myframel.document.body.innerHTML;" frameborder="0" width="0" height="0" name="myframel" id="myframel"></iframe> |
| <iframe onLoad="window.document.getElementById('frame-content-center').innerHTML=myframec.document.body.innerHTML;" frameborder="0" width="0" height="0" name="myframec" id="myframec"></iframe> |
| <iframe onLoad="window.document.getElementById('frame-content-right').innerHTML=myframer.document.body.innerHTML;" frameborder="0" width="0" height="0" name="myframer" id="myframer"></iframe> |
| |
| |
| |
| |
| <div id="header-2"><div id="header-1"><div id="header-3"></div></div></div> |
| <div id="content"><div id="content-right"> |
| <div align="left" id="header"><div id="header-right"> <img src="/themes/logo.gif" alt="logo" /></div></div> |
| <div id="header-5"><div id="header-4"><div id="header-6"></div></div></div> |
| |
| <table><tr height="10"> |
| <td width="240" align="right" id="frame-content-left"></td> |
| |
| <td width="720" align="center" id="frame-content-center"></td> |
| |
| <td width="240" align="left" id="frame-content-right"></td> |
| |
| </tr></table> |
| |
| |
| <br /> |
| </div></div> |
| |
| |
| |
| <div id="footer-2"><div id="footer-1"><div id="footer-3"></div></div></div> |
| |
| <div id="footer" align="center"><div id="footer-right"></div></div> |
| |
| <div id="footer-5"><div id="footer-4"><div id="footer-6"></div></div></div> |
| |
| |
| |
| |
| |
| </body> |
| |
| </html> |
script
Код:
| function start() |
| { |
| myframel("/pages/main.php"); |
| myframec("/pages/reg.php"); |
| myframer("/pages/reviews.php"); |
| } |
| function myframel(url) |
| { |
| var myframel=document.getElementById("myframel"); |
| myframel.setAttribute("src",url); |
| |
| } |
| |
| function myframec(url) |
| { |
| var myframec=document.getElementById("myframec"); |
| myframec.setAttribute("src",url); |
| |
| } |
| function myframer(url) |
| { |
| var myframer=document.getElementById("myframer"); |
| myframer.setAttribute("src",url); |
| |
| } |
Добавлено спустя 2 минуты 31 секунду: Uncaught TypeError: Cannot set property 'innerHTML' of null
(anonymous function)http://topgen.pp.ua/:15
onload
это хром показывает при просмотре кода элементов
хотя все страници загружаются
Добавлено спустя 8 минут 35 секунд: Блин чет вообще потестил оно на ie mozile не фурычит
ладно пойду спать хочу. Буду разбираться
Отредактировано TLENS (2011.02.06 22:10)
чет ты какой-то херней занимаешься)
используй
jquery, рабоать с XmlHttpRequest очень просто
#6.
TLENS
Off
(14)
Moderator
2011.02.07 15:03
А ты можешь дать пару примеров?
1) Как же в ту самую форму ввода в рулить чтобы и файлы передавала без обновления страницы.
2) И как это все на ссылки ставить?
И еще вопрос можно как нибудь с делать чтобы все ссылки в <div id="123"></div>
Открывал ajax в <div id="321"></div>
Чтобы ссылки были без всяких обработчиков событий onClick и тому подобному.
Отредактировано TLENS (2011.02.08 01:01)
#7.
TLENS
Off
(14)
Moderator
2011.02.08 00:12
Gemoroy весьма благодарен за совет. Вот это сила.
Тем боле так как я не знаю толком яву это просто находка.
Огромное спасибо.

Уже начитался всякой литературы аж загорелся.
Отредактировано TLENS (2011.02.08 01:01)
#8.
TLENS
Off
(14)
Moderator
2011.02.08 02:02
Вот и решился вопрос
Код:
| $('a#123').click(function(event){ |
| event.preventDefault(); |
| linkLocation = this.href; |
| $("#321").load(linkLocation); |
| }); |
Чет натяпал.
Сейчас буду с постом ковырятся
Отредактировано TLENS (2011.02.08 02:02)
#9.
TLENS
Off
(14)
Moderator
2011.02.08 03:03
Gemoroy пожалуйста помоги с формой я тут растерялся немного.
Надо пост форму $("form#content") отправить кликом по сабмиту на test.php и ответ вставить сюда же в $("#content")
Выручай плис
Отредактировано TLENS (2011.02.08 03:03)
Можно собирать элементы формы вручную, а можно воспользоваться плагином, который сам это сделает, что удобнее, конечно.
Потребуется нам сама библиотека
jQuery и плагин jqery.form
Оф страничка плагина form тут:
http://jquery.malsup.com/form/, правда он как-то не особо последнее время развивается и у него есть проблемы с поддержкой оперы. Надеюсь, с выходом jQuery 1.5 его допилят...
Исправленный и сжатый вариант можно взять, например, тут:
http://topby.by/js/jquery.form.jsДалее, вешаем обработчик на страницу:
Код:
| var options = { |
| dataType: "json", |
| beforeSubmit: function () { |
| // тут можно написать код, который будет выполняться до ответа сервера. как правило, нужно показать крутящуюся картинку |
| }, |
| success: function (response, statusText) { |
| // если делали крутящуюся картинку, то тут ее убираем |
| |
| if (response.error === true) { |
| // сообщаем об ошибке |
| alert(response.message); |
| } else { |
| // все ок |
| alert(response.message); |
| } |
| }, |
| type: "post" |
| }; |
| |
| $(document).ready(function () { |
| $("#formAJAXSubmit").submit(function (e) { |
| e.preventDefault(); |
| $(this).ajaxSubmit(options); |
| return false; |
| }); |
| }); |
Переменная options - это настройки для плагина jquery.form. Надеюсь, из комментариев будет понятно что к чему.
$("#formAJAXSubmit") - это id формы. Т.е. <form id="formAJAXSubmit"...> Само собой, id может быть и другим, и вообще форму можно находить по любым другим доступным атрибутам.
На сервере собираем ответ в виде обычного массива, и пакуем в JSON. Пример:
Код:
| span style="color: #0000BB"><?php$response = array('error' => false, 'message' => 'Запрос успешно выполнен');echo json_encode($response); |
вот и все... вместо JSON можно использовать XML, HTML может еще что-то, о чем я забыл, но настоятельно рекомендую пользоваться именно JSON.