Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

HTML+CSS+JavaScript

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: запомнить передыдущие число
 
 автор: inga   (20.11.2007 в 12:42)   письмо автору
 
 

Вот думаю думаю и ни как не могу придумать. Допустим есть функция:

function CheckNeighbors(chislo1, chislo2)
{
//какието действия с chislo1, chislo2
...........
//и вот главное
var in = чемуто;
}

Функция вызывается циклом, и мне надо помнить в функции предыдушюю переменную in, ту что была в предыдущем вызове функции.
Какие будут советы?

   
 
 автор: CNT   (20.11.2007 в 12:43)   письмо автору
 
   для: inga   (20.11.2007 в 12:42)
 

Уберите три буквы - var - и пользуйтесь переменной in как глобальной
И вообще переименуйте in во что-нить другое: это зарезервированное слово; напишите, к примеру, in0

   
 
 автор: coloboc66   (20.11.2007 в 12:45)   письмо автору
 
   для: inga   (20.11.2007 в 12:42)
 

Сделать in глобальной - объявить её вне функций.
var in='';
А внутри функции присваивать ей очередное значение:
function func()
{
in='some_value';
}

   
 
 автор: sim5   (20.11.2007 в 12:57)   письмо автору
 
   для: coloboc66   (20.11.2007 в 12:45)
 

Вам же говорят, не надо именам переменным присваивать зарезервированные имена, это плохой тон! А вы советуеьте опять это, ну что нельзя написать так - invar ?

   
 
 автор: inga   (20.11.2007 в 12:58)   письмо автору
 
   для: coloboc66   (20.11.2007 в 12:45)
 

Хочу уточнить как делать.
Весь код у меня на пхп, и вставка на джаве только эта функция.
На сколько я поняла, то что вы советуете не даст мне возможности пользоваться ее предыдущим значением в самой функции
вот как у меня все есть:

<script>
function CheckNeighbors(chislo1, chislo2) 

//какието действия с chislo1, chislo2 
........... 
//и вот главное 
var in = чемуто; 

</script>
//вызов еее
for($i = 1; $i <= 12; $i++)
{
?>
<input type="checkbox" name="mes<?=$i?>" value="1"<?=$disabled_code[$i]?> onclick="CheckNeighbors(<?=$min_count?><?=$i?>);">
<?
}
?>

может надо сделать как то так:

<script>
function CheckNeighbors(chislo1, chislo2, передаем предыдущие знач  in) 

//какието действия с chislo1, chislo2 
........... 
//и вот главное 
in = чемуто; 

</script>
//вызов еее
for($i = 1; $i <= 12; $i++)
{
?>
<input type="checkbox" name="mes<?=$i?>" value="1"<?=$disabled_code[$i]?> onclick="CheckNeighbors(<?=$min_count?><?=$i?>, и тут как то передавать ту что вышла из функции, только не понятно как быть если функция еще не вызывалась);">
<?
}
?>

если я правильно мыслю помогите с синтаксисом, а если нет, тогда помогите правильно мыслить

   
 
 автор: Fear.86   (20.11.2007 в 13:08)   письмо автору
 
   для: inga   (20.11.2007 в 12:58)
 

<script>
function CheckNeighbors(chislo1, chislo2, old_invar) {
//какието действия с chislo1, chislo2
...........
//и вот главное
var invar = old_invar || чемуто; // здесь произойдет сравнение, есле old_invar true то возьмет его иначе твое значение.
}
</script>

   
 
 автор: inga   (20.11.2007 в 14:29)   письмо автору
 
   для: Fear.86   (20.11.2007 в 13:08)
 

хорошо, а как ее передать туда

onclick="CheckNeighbors(<?=$min_count?><?=$i?>, каой сдесь должен быть синтаксис?);"

   
 
 автор: sim5   (20.11.2007 в 15:31)   письмо автору
 
   для: inga   (20.11.2007 в 14:29)
 

Так и передавать, как вы пишите, только надо учесть следующее обстоятельство - если передаваемый аргумент это текст, то он должен быть заключен в скобки, в остальном проблем быть не должно.

   
 
 автор: inga   (20.11.2007 в 15:41)   письмо автору
 
   для: sim5   (20.11.2007 в 15:31)
 

пробывала несколько вариантов
1)onclick="CheckNeighbors(<?=$min_count?>, <?=$i?>, <?=$invar?>);"
2)onclick="CheckNeighbors(<?=$min_count?>, <?=$i?>, invar);"
3)onclick="CheckNeighbors(<?=$min_count?>, <?=$i?>, '+invar+');"
3)onclick="CheckNeighbors(<?=$min_count?>, <?=$i?>, 'invar');"

В функции CheckNeighbors написала чтобы возвращало invar(return invar;)

вообщем ни какими спосабами не получается передать старый инвар в функцию

я понимаю что нужно написать проверку есть или invar, но это позже, сейчас и при втором вызове функции invar в нее не передается

   
 
 автор: sim5   (20.11.2007 в 16:00)   письмо автору
 
   для: inga   (20.11.2007 в 15:41)
 

Из РНР вы можете передать только как $invar, и никак иначе!!!! Напишите, что у вас должно быть, хотя бы для еденичного поля формы? Можно устроить проверку и тогда вы можете выяснить причину ошибки вашей.

   
 
 автор: inga   (20.11.2007 в 16:14)   письмо автору
 
   для: sim5   (20.11.2007 в 16:00)
 

пишу все как есть у меня, без сокращений

<script language="javascript" type="text/javascript">
function CheckNeighbors(min_count, number, old_invar)
{
[code]invar = old_invar;

for(var month_low = 1; month_low <= number - min_count; month_low += min_count);
var month_high = month_low + min_count;
var state = document.forms['zakForm'].elements['mes' + number].checked;
for(var i = month_low; i < month_high; i++)
if(document.forms['zakForm'].elements['mes' + i].disabled != true)
document.forms['zakForm'].elements['mes' + i].checked = state;
invar 
= month_high-1;
return invar;

}
</script>
<?
$mon = array('0','січень','лютий','березень','квітень','травень','червень','липень','серпень','вересень','жовтень','листопад','грудень');
echo "<form action='karta.php' method='get' name='zakForm' onsubmit='return formCheck(this);'>";
echo "<i>Ви маєте можливість передплатити видання на такі місяці:</i><br>";
echo "<table><tr>";
for($i = 1; $i <= 12; $i++)
{
?>
<td align="center"><?= $mon[$i];?><br /><input type="checkbox" name="mes<?=$i?>" value="1"<?=$disabled_code[$i]?> onclick="CheckNeighbors(<?=$min_count?>, <?=$i?>, и тут ее нужно как то передать);"></td>
<?
}
?>
[/code]
Вот все как есть, мне надо как то помнить предыдущую invar в функции, если ее нет, тоесть первый заход в функцию ее можно передавать =0.
Код недописан, поэтому всматриваться в него не надо

   
 
 автор: sim5   (20.11.2007 в 16:30)   письмо автору
 
   для: inga   (20.11.2007 в 16:14)
 

> onclick="CheckNeighbors(<?=$min_count?>, <?=$i?>, и тут ее нужно как то передать);

Вот у вас уже и третий аргумент в функции появился. Я немного не понял, но если этот третий аргумент зависит от ранее переданного значения, то можно так:


onclick="CheckNeighbors(<?=$min_count?><?=$i?>, !empty($var3) ? $var3 : 0);"


В этом случае, если третий аргумент не передавлся ранее или если не был установлен каким либо другим образом, то ему присваивается значение по умолчанию равное 0. Что у вас определяет, и чему должнол быть реально равен этот аргумент, вы сами определите, извините я сегодня не в состоянии все контролировать :))

   
 
 автор: inga   (20.11.2007 в 17:14)   письмо автору
 
   для: sim5   (20.11.2007 в 16:30)
 

Простой вопрос задаю, для этого не надо понимать что у меня происходит в функции.
Пишу на пхп, вставляю на джаве проверку (функция CheckNeighbors).

Это условие что вы написали само собой рразумеется !empty($var3) ? $var3 : 0

Но проблема не в этом, проблема в том как из функции CheckNeighbors полученную переменную вставить в
onclick="CheckNeighbors(<?=$min_count?>, <?=$i?>, тут);" ?


Если первый раз зашли в функцию, туда третим параметром передаем 0, если уже заходили в функцию, то третим параметром передает то значение которое возвратила функция в предыдущем вызове. (функция на джаве, вызывается в коде пхп)

   
 
 автор: inga   (20.11.2007 в 17:54)   письмо автору
 
   для: inga   (20.11.2007 в 17:14)
 

Вообщем помошники ученые, исправила ошибку, рассказываю вам
Надо было var invar; поставить перед функцией, а не в ней.
Теперь уже и третий параметр передавать не надо

   
 
 автор: sim5   (20.11.2007 в 18:45)   письмо автору
 
   для: inga   (20.11.2007 в 17:54)
 

Уважаемая, это вы запутались :D)

"как из функции CheckNeighbors полученную переменную вставить в onclick="CheckNeighbors(<?=$min_count?>, <?=$i?>, тут);" ?"

Из функции в событие вы не вставите, передать в функцию аргумент - это да. Просто вам нужна была глобальная переменная, а вы в последсвии добавили в вызов третий аргумент...)

   
 
 автор: CNT   (21.11.2007 в 13:56)   письмо автору
 
   для: inga   (20.11.2007 в 17:54)
 

Вместо того, чтобы внимательно прочитать самый ПЕРВЫЙ ответ - 20.11.2007 в 12:43, товарищ inga, коя нам совсем не товарищ, отвлекла многих занятых людей, потратила кучу места на этом сервере, обозвала всех ей помогающих "учеными"...

Давайте дружно скажем этой ingе ФУУУУУУУУУУУУУУУУУ!

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования