Вы не зашли.
#1.
TLENS
Off
(14)
Moderator
2011.02.06 19:07
Я вот вызываю таким образом он срабатывает на ссылках и формах.
Вот вопрос как ето все реализовать чтобы не записывало в историю.
Код:
this.setAttribute('target','myframe'); |
смысл? от чего ты пытаешься защититься?
#3.
TLENS
Off
(14)
Moderator
2011.02.06 20:08
Ну я использую такой код типа 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.07 01:01
Ладно вощем.
Там я так подумал пусть пишет в историю у меня тут другая проблема появилась
три моих 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.07 01:01)
чет ты какой-то херней занимаешься)
используй
jquery, рабоать с XmlHttpRequest очень просто
#6.
TLENS
Off
(14)
Moderator
2011.02.07 18:06
А ты можешь дать пару примеров?
1) Как же в ту самую форму ввода в рулить чтобы и файлы передавала без обновления страницы.
2) И как это все на ссылки ставить?
И еще вопрос можно как нибудь с делать чтобы все ссылки в <div id="123"></div>
Открывал ajax в <div id="321"></div>
Чтобы ссылки были без всяких обработчиков событий onClick и тому подобному.
Отредактировано TLENS (2011.02.08 04:04)
#7.
TLENS
Off
(14)
Moderator
2011.02.08 03:03
Gemoroy весьма благодарен за совет. Вот это сила.
Тем боле так как я не знаю толком яву это просто находка.
Огромное спасибо.
Уже начитался всякой литературы аж загорелся.
Отредактировано TLENS (2011.02.08 04:04)
#8.
TLENS
Off
(14)
Moderator
2011.02.08 05:05
Вот и решился вопрос
Код:
$('a#123').click(function(event){ |
event.preventDefault(); |
linkLocation = this.href; |
$("#321").load(linkLocation); |
}); |
Чет натяпал.
Сейчас буду с постом ковырятся
Отредактировано TLENS (2011.02.08 05:05)
#9.
TLENS
Off
(14)
Moderator
2011.02.08 06:06
Gemoroy пожалуйста помоги с формой я тут растерялся немного.
Надо пост форму $("form#content") отправить кликом по сабмиту на test.php и ответ вставить сюда же в $("#content")
Выручай плис
Отредактировано TLENS (2011.02.08 06:06)
Можно собирать элементы формы вручную, а можно воспользоваться плагином, который сам это сделает, что удобнее, конечно.
Потребуется нам сама библиотека
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.