|
|
|
| Вот думаю думаю и ни как не могу придумать. Допустим есть функция:
function CheckNeighbors(chislo1, chislo2)
{
//какието действия с chislo1, chislo2
...........
//и вот главное
var in = чемуто;
}
|
Функция вызывается циклом, и мне надо помнить в функции предыдушюю переменную in, ту что была в предыдущем вызове функции.
Какие будут советы? | |
|
|
|
|
|
|
|
для: inga
(20.11.2007 в 12:42)
| | Уберите три буквы - var - и пользуйтесь переменной in как глобальной
И вообще переименуйте in во что-нить другое: это зарезервированное слово; напишите, к примеру, in0 | |
|
|
|
|
|
|
|
для: inga
(20.11.2007 в 12:42)
| | Сделать in глобальной - объявить её вне функций.
var in='';
А внутри функции присваивать ей очередное значение:
function func()
{
in='some_value';
} | |
|
|
|
|
|
|
|
для: coloboc66
(20.11.2007 в 12:45)
| | Вам же говорят, не надо именам переменным присваивать зарезервированные имена, это плохой тон! А вы советуеьте опять это, ну что нельзя написать так - invar ? | |
|
|
|
|
|
|
|
для: 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?>, и тут как то передавать ту что вышла из функции, только не понятно как быть если функция еще не вызывалась);">
<?
}
?>
|
если я правильно мыслю помогите с синтаксисом, а если нет, тогда помогите правильно мыслить | |
|
|
|
|
|
|
|
для: inga
(20.11.2007 в 12:58)
| | <script>
function CheckNeighbors(chislo1, chislo2, old_invar) {
//какието действия с chislo1, chislo2
...........
//и вот главное
var invar = old_invar || чемуто; // здесь произойдет сравнение, есле old_invar true то возьмет его иначе твое значение.
}
</script> | |
|
|
|
|
|
|
|
для: Fear.86
(20.11.2007 в 13:08)
| | хорошо, а как ее передать туда
onclick="CheckNeighbors(<?=$min_count?>, <?=$i?>, каой сдесь должен быть синтаксис?);"
|
| |
|
|
|
|
|
|
|
для: inga
(20.11.2007 в 14:29)
| | Так и передавать, как вы пишите, только надо учесть следующее обстоятельство - если передаваемый аргумент это текст, то он должен быть заключен в скобки, в остальном проблем быть не должно. | |
|
|
|
|
|
|
|
для: 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 в нее не передается | |
|
|
|
|
|
|
|
для: inga
(20.11.2007 в 15:41)
| | Из РНР вы можете передать только как $invar, и никак иначе!!!! Напишите, что у вас должно быть, хотя бы для еденичного поля формы? Можно устроить проверку и тогда вы можете выяснить причину ошибки вашей. | |
|
|
|
|
|
|
|
для: 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;
= month_high-1;
}
</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.
Код недописан, поэтому всматриваться в него не надо | |
|
|
|
|
|
|
|
для: inga
(20.11.2007 в 16:14)
| | > onclick="CheckNeighbors(<?=$min_count?>, <?=$i?>, и тут ее нужно как то передать);
Вот у вас уже и третий аргумент в функции появился. Я немного не понял, но если этот третий аргумент зависит от ранее переданного значения, то можно так:
onclick="CheckNeighbors(<?=$min_count?>, <?=$i?>, !empty($var3) ? $var3 : 0);"
|
В этом случае, если третий аргумент не передавлся ранее или если не был установлен каким либо другим образом, то ему присваивается значение по умолчанию равное 0. Что у вас определяет, и чему должнол быть реально равен этот аргумент, вы сами определите, извините я сегодня не в состоянии все контролировать :)) | |
|
|
|
|
|
|
|
для: sim5
(20.11.2007 в 16:30)
| | Простой вопрос задаю, для этого не надо понимать что у меня происходит в функции.
Пишу на пхп, вставляю на джаве проверку (функция CheckNeighbors).
Это условие что вы написали само собой рразумеется !empty($var3) ? $var3 : 0
Но проблема не в этом, проблема в том как из функции CheckNeighbors полученную переменную вставить в
onclick="CheckNeighbors(<?=$min_count?>, <?=$i?>, тут);" ?
Если первый раз зашли в функцию, туда третим параметром передаем 0, если уже заходили в функцию, то третим параметром передает то значение которое возвратила функция в предыдущем вызове. (функция на джаве, вызывается в коде пхп) | |
|
|
|
|
|
|
|
для: inga
(20.11.2007 в 17:14)
| | Вообщем помошники ученые, исправила ошибку, рассказываю вам
Надо было var invar; поставить перед функцией, а не в ней.
Теперь уже и третий параметр передавать не надо | |
|
|
|
|
|
|
|
для: inga
(20.11.2007 в 17:54)
| | Уважаемая, это вы запутались :D)
"как из функции CheckNeighbors полученную переменную вставить в onclick="CheckNeighbors(<?=$min_count?>, <?=$i?>, тут);" ?"
Из функции в событие вы не вставите, передать в функцию аргумент - это да. Просто вам нужна была глобальная переменная, а вы в последсвии добавили в вызов третий аргумент...) | |
|
|
|
|
|
|
|
для: inga
(20.11.2007 в 17:54)
| | Вместо того, чтобы внимательно прочитать самый ПЕРВЫЙ ответ - 20.11.2007 в 12:43, товарищ inga, коя нам совсем не товарищ, отвлекла многих занятых людей, потратила кучу места на этом сервере, обозвала всех ей помогающих "учеными"...
Давайте дружно скажем этой ingе ФУУУУУУУУУУУУУУУУУ! | |
|
|
|