#1 2011.02.06 19:35

TLENS
Moderator
Откуда: Украина
Зарегистрирован: 2009.04.05
Сообщений: 2402
Карма: 14
Профиль

Есть вопрос по iframe

Я вот вызываю таким образом он срабатывает на ссылках и формах.
Вот вопрос как ето все реализовать чтобы не записывало в историю.

Код:

1
this.setAttribute('target','myframe');

Неактивен

#2 2011.02.06 20:17

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6538
Карма: 108
Профиль Веб-сайт

Re: Есть вопрос по iframe

смысл? от чего ты пытаешься защититься?

Неактивен

#3 2011.02.06 20:36

TLENS
Moderator
Откуда: Украина
Зарегистрирован: 2009.04.05
Сообщений: 2402
Карма: 14
Профиль

Re: Есть вопрос по iframe

Ну я использую такой код типа ajax.
Сам аякс чет не могу осилить.

Код:

1
2
3
4
5
6
7
8
9
10
11
12
<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 2011.02.07 01:00

TLENS
Moderator
Откуда: Украина
Зарегистрирован: 2009.04.05
Сообщений: 2402
Карма: 14
Профиль

Re: Есть вопрос по iframe

Ладно вощем.
Там я так подумал пусть пишет в историю у меня тут другая проблема появилась
три моих iframe почемуто дают ошибку.

Код:

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
<!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">&nbsp;<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

Код:

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
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:12)

Неактивен

#5 2011.02.07 09:39

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6538
Карма: 108
Профиль Веб-сайт

Re: Есть вопрос по iframe

чет ты какой-то херней занимаешься)
используй jquery, рабоать с XmlHttpRequest очень просто

Неактивен

#6 2011.02.07 18:31

TLENS
Moderator
Откуда: Украина
Зарегистрирован: 2009.04.05
Сообщений: 2402
Карма: 14
Профиль

Re: Есть вопрос по iframe

А ты можешь дать пару примеров?
1) Как же в ту самую форму ввода в рулить чтобы и файлы передавала без обновления страницы.
2) И как это все на ссылки ставить?
И еще вопрос можно как нибудь с делать чтобы все ссылки в <div id="123"></div>
Открывал ajax в <div id="321"></div>
Чтобы ссылки были без всяких обработчиков событий onClick и тому подобному.

Отредактировано TLENS (2011.02.08 04:10)

Неактивен

#7 2011.02.08 03:56

TLENS
Moderator
Откуда: Украина
Зарегистрирован: 2009.04.05
Сообщений: 2402
Карма: 14
Профиль

Re: Есть вопрос по iframe

Gemoroy весьма благодарен за совет. Вот это сила.
Тем боле так как я не знаю толком яву это просто находка.
Огромное спасибо. http://85.17.73.230/img/pasiba.gif
Уже начитался всякой литературы аж загорелся. http://85.17.73.230/img/or.gif

Отредактировано TLENS (2011.02.08 04:09)

Неактивен

#8 2011.02.08 05:21

TLENS
Moderator
Откуда: Украина
Зарегистрирован: 2009.04.05
Сообщений: 2402
Карма: 14
Профиль

Re: Есть вопрос по iframe

Вот и решился вопрос

Код:

1
2
3
4
5
$('a#123').click(function(event){
event.preventDefault();
linkLocation = this.href;
$("#321").load(linkLocation);
});

Чет натяпал.
Сейчас буду с постом ковырятся

Отредактировано TLENS (2011.02.08 05:31)

Неактивен

#9 2011.02.08 06:37

TLENS
Moderator
Откуда: Украина
Зарегистрирован: 2009.04.05
Сообщений: 2402
Карма: 14
Профиль

Re: Есть вопрос по iframe

Gemoroy пожалуйста помоги с формой я тут растерялся немного.
Надо пост форму $("form#content") отправить кликом по сабмиту на test.php и ответ вставить сюда же в $("#content")
Выручай плис

Отредактировано TLENS (2011.02.08 06:37)

Неактивен

#10 2011.02.08 12:28

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6538
Карма: 108
Профиль Веб-сайт

Re: Есть вопрос по iframe

Можно собирать элементы формы вручную, а можно воспользоваться плагином, который сам это сделает, что удобнее, конечно.
Потребуется нам сама библиотека jQuery и плагин jqery.form
Оф страничка плагина form тут: http://jquery.malsup.com/form/, правда он как-то не особо последнее время развивается и у него есть проблемы с поддержкой оперы. Надеюсь, с выходом jQuery 1.5 его допилят...
Исправленный и сжатый вариант можно взять, например, тут: http://topby.by/js/jquery.form.js

Далее, вешаем обработчик на страницу:

Код:

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
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. Пример:

Код:

1
2
3
<?php
$response = array('error' => false'message' => 'Запрос успешно выполнен');
echo json_encode($response);

вот и все... вместо JSON можно использовать XML, HTML может еще что-то, о чем я забыл, но настоятельно рекомендую пользоваться именно JSON.

Неактивен

Дополнительно

forum.wapinet.ru

PunBB Mod v0.6.1
0.015 s