вопрос по javascript

Модератор: Злобный

Ответить
Аватара пользователя
aramis
Юзер
Сообщения: 102
Зарегистрирован: Вт окт 18, 2005 16:00
Откуда: кишинев

вопрос по javascript

Сообщение aramis »

Есть некая страница c <iframe> а так же есть форма.А фрейм перезагружается каждые 3 секунды.
У меня такой вопрос .как зделать так чтобы с каждой перезагрузкой фрейма в форме на главной странице value увеличивалось на 1. т.е в форме мы видим 1 ,через 3 секунды 2 и т.д
Вариант с cookie не подходит.
Аватара пользователя
Otello
Юзер
Сообщения: 215
Зарегистрирован: Сб сен 27, 2003 14:18
Контактная информация:

Сообщение Otello »

aramis писал(а):Есть некая страница c <iframe> а так же есть форма.А фрейм перезагружается каждые 3 секунды.
У меня такой вопрос .как зделать так чтобы с каждой перезагрузкой фрейма в форме на главной странице value увеличивалось на 1. т.е в форме мы видим 1 ,через 3 секунды 2 и т.д
Вариант с cookie не подходит.
Код можете поместить?

обычно в скрипте можно просто держать переменные... но видимо вам это не подходит.. лучше если поместите код перезагрузки фрейма.
Аватара пользователя
Ali Baba
Продвинутый
Сообщения: 463
Зарегистрирован: Ср сен 22, 2004 09:43
Откуда: оттуда все мы
Контактная информация:

Сообщение Ali Baba »

aramis,
дайте кусок кода вашего Сэр
Аватара пользователя
-Molodka-
Юзер
Сообщения: 61
Зарегистрирован: Сб июл 30, 2005 22:56
Откуда: EH3 9JS

Сообщение -Molodka- »

aramis писал(а):Есть некая страница c <iframe> а так же есть форма.А фрейм перезагружается каждые 3 секунды
я вообще ничего не понимаю.
Ali Baba, обьясните,plz, хочем знать :shy:
Аватара пользователя
aramis
Юзер
Сообщения: 102
Зарегистрирован: Вт окт 18, 2005 16:00
Откуда: кишинев

Сообщение aramis »

главная страница

Код: Выделить всё

<html>
<head>
	<title>Untitled</title>
	<script type="text/javascript">
<!--
function tor(){

document.fori.t.value = 0;
}
// -->
</script>
</head>
<body>
<iframe src="D:\temp\frame1.htm" name="frame1" id="frame1" width="150" height="140"></iframe>

<form action="" name="fori" id="fori">
<input type="text" name="t" size="4" maxlength="4">
</form>
<script type="text/javascript">
<!--

// -->
</script>
</body>
</html>
а это фрейм

Код: Выделить всё

<html>
<head>
	<title>Untitled</title>
	<meta HTTP-EQUIV=Refresh Content="3; frame1.htm">
<script type="text/javascript">
<!--

//
// -->
</script>
</head>

<body>
<h2>Это фрейм ...</h2>
<form action="" name="form" id="form">
значение+ <input type="text" name="txt" size="4">
</form>
<script type="text/javascript">
<!--

// -->
</script>
</body>
</html>
как видите фрейм перезагружается каждые 3 секунды.
мне нужно зделать что-то вроде счетчика.
на главной в поле стоит 1 ,перезагрузился фрейм стоит 2 и т.д.
Аватара пользователя
Стэлла
Завсегдатай
Сообщения: 2759
Зарегистрирован: Вс апр 20, 2003 13:50
Откуда: Europe

Сообщение Стэлла »

aramis,я не очень сильнa в программировании, но может лучше сделать счетчик на флешке, ввиде часиков например, и запихнуть во внутрь фрейма.
ищейка
Продвинутый
Сообщения: 784
Зарегистрирован: Чт мар 11, 2004 12:36
Контактная информация:

Сообщение ищейка »

Стэлла,
parent.getElementById('id поля').value=1 +parent.getElementById('id поля').value;
вот так должно работать
Аватара пользователя
Iulik D
Старожил
Сообщения: 1282
Зарегистрирован: Пн май 12, 2003 00:03
Откуда: Молдова

Сообщение Iulik D »

Код: Выделить всё

<html>
<head>
   <title>Untitled</title>
<script type="text/javascript">
function adjustIFrameNumber(id) {
    var myIframe = document.getElementById(id);
    
    if (myIframe) {
        if (myIframe.contentDocument && myIframe.contentDocument.body.offsetHeight) {
            // W3C DOM (and Mozilla) syntax
            myIframe.contentDocument.form.txt.value=parseInt(document.fori.t.value);   
        } else if (myIframe.Document && myIframe.Document.body.scrollHeight) {
            // IE DOM syntax
           myIframe.Document.form.txt.value=parseInt(document.fori.t.value);
        }
    }
}
</script>
</head>
<body onload="adjustIFramenumber('myFrame');">
<iframe id="myFrame" frameborder="1" vspace="1" hspace="1" marginwidth="1" 
marginheight="1" width="20%" src="d.html" scrolling="yes" 
style="overflow:visible"></iframe>
<form action="" name="fori" id="fori">
<input type="text" name="t" size="10" value="1" maxlength="40" onchange="adjustIFrameNumber('myFrame');"/>
</form>
</body>

</html>

Код: Выделить всё

<html>
<head>
   <title>Untitled</title>
<script type="text/javascript">
function Sum() {
	window.setTimeout("Sum()",3000 )
 	document.form.txt.value = parseInt(document.form.txt.value)+1;   
}
</script>
</head>
<body onload="Sum();">
<h2>Это фрейм ...</h2>
<form action="" name="form" id="form">
значение+ <input type="text" name="txt" value="0" size="4">
</form>
</body>
</html>


[off]добавлено спустя 1 минуту:[/off]

работает на всех браузеров

[off]добавлено спустя 27 минут:[/off]

поменяй вот так

Код: Выделить всё

<input type="text" name="t" size="10" value="1" maxlength="40" onchange="adjustIFrameNumber('myFrame');" onkeyup="adjustIFrameNumber('myFrame');"/>
Аватара пользователя
Otello
Юзер
Сообщения: 215
Зарегистрирован: Сб сен 27, 2003 14:18
Контактная информация:

Сообщение Otello »

aramis

main page

Код: Выделить всё

<html>
<head>
<title>Untitled</title>

<script type="text/javascript">
 var counter = 0;
</script>

</head>
<body>

<iframe src="frame1.htm" name="frame1" id="frame1" width="150" height="140">
</iframe>

<form action="" name="fori" id="fori">
 <input type="text" name="t" size="4" maxlength="4">
</form>

<script type="text/javascript">
<!--
// -->
</script>
</body>
</html>
frame page

Код: Выделить всё

<html>
<head>
 <title>Untitled</title>
 <meta HTTP-EQUIV=Refresh Content="3; frame1.htm">
<script type="text/javascript">
<!--
function refreshCounter()
 { 
   parent.document.fori.t.value = parent.counter++;
 }
// -->
</script>
</head>

<body onload="refreshCounter()">
<h2>This is a frame ...</h2>
<form action="" name="myForm" id="myForm">
Refresh Value+ <input type="text" name="txt" size="4">
</form>
<script type="text/javascript">
<!--

// -->
</script>
</body>
</html>
попробуйте код выше?
Аватара пользователя
Iulik D
Старожил
Сообщения: 1282
Зарегистрирован: Пн май 12, 2003 00:03
Откуда: Молдова

Сообщение Iulik D »

Otello,

так у него результат не в фрайме должен быть?
Аватара пользователя
glukoza
Юзер
Сообщения: 78
Зарегистрирован: Вс апр 03, 2005 22:32

Сообщение glukoza »

с небольшой поправкой, вроде работает:



if(parent.document.forms[0].t.value == null || parent.document.forms[0].t.value=='')
parent.document.forms[0].t.value=1;
else
parent.document.forms[0].t.value = parseInt(parent.document.forms[0].t.value)+1;




Вот код... только я названия файлов покалeчила немного:



Перент:

Код: Выделить всё

<html>
<head>
 <title>Untitled</title>
 <script type="text/javascript">
<!--
function tor(){

document.fori.t.value = 0;
}
// -->
</script>
</head>
<body>

<iframe src="frame1.html" name="frame1" id="frame1" width="150" height="140"></iframe>

<form action="" name="fori" id="fori">
<input type="text" name="t" size="4" maxlength="4">
</form>
<script type="text/javascript">

<!--

// -->
</script>
</body>
</html>
Фрейм:

Код: Выделить всё

<html>
<head>
 <title>Untitled</title>
 <meta HTTP-EQUIV=Refresh Content="3; frame1.html">
<script type="text/javascript">
<!--

//
// -->
</script>
</head>

<body>
<h2>Bla bla</h2>
<form action="" name="form" id="form">
counter+ <input type="text" name="txt" size="4">
</form>
<script type="text/javascript">
if(parent.document.forms[0].t.value == null || parent.document.forms[0].t.value=='')
parent.document.forms[0].t.value=1;
else
parent.document.forms[0].t.value = parseInt(parent.document.forms[0].t.value)+1;
<!--

// -->
</script>
</body>
</html>


[off]добавлено спустя 1 минуту:[/off]

Щас задумалась... может вы хотели внутреннее окошко тоже меняться, тогда:


if(parent.document.forms[0].t.value == null || parent.document.forms[0].t.value=='')
parent.document.forms[0].t.value=1;
else
parent.document.forms[0].t.value = parseInt(parent.document.forms[0].t.value)+1;

document.forms[0].txt.value = parent.document.forms[0].t.value;

[off]добавлено спустя 1 минуту:[/off]

Ой шас увидела пост Otello

тоже работает...
Аватара пользователя
aramis
Юзер
Сообщения: 102
Зарегистрирован: Вт окт 18, 2005 16:00
Откуда: кишинев

Сообщение aramis »

всё работает!!! Iulik D мне нужно что-бы не просто через определённый промежуток
а именно при перезагрузке. [off]при щелчке на reload[/off] увеличивался счётчик на главной странице. Я сделал так

Код: Выделить всё

function Sum() { 
   //window.setTimeout("Sum()",3000 ) 
    
	parent.document.fori.t.value=parseInt(parent.document.fori.t.value)+1;   
} 
Я раньше пытался делать так

Код: Выделить всё

function myFun() { 
 
	parent.document.fori.t.value+=1;   
} 
В итоге получалось на главной 11 потом 111 и т.д при каждой перезагрузке прибавлялась единичка но не как число а как строка

Otello
твой вариант тоже работает.
Аватара пользователя
Iulik D
Старожил
Сообщения: 1282
Зарегистрирован: Пн май 12, 2003 00:03
Откуда: Молдова

Сообщение Iulik D »

aramis,

Нужно было сразу написать что только при загружке :)... А мы думали через 3 сеkунды... кстати, если заметил, у мну в коде, в нижнии текст бокс можно написать цыфру, а в ифрэйме будет +1, а потом через каждые 3 сек. будет 1 суммироватса
Ответить

Вернуться в «Программирование»