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

HTML+CSS+JavaScript

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

 

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

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

тема: хелп! хелп! javascript
 
 автор: inga   (09.01.2009 в 11:51)   письмо автору
 
 

наполняю массив:

<?
for($i=0$i<count($arr); $i++)
{
$photo->Init('small''big'$arr[$i], 0);
$arrbig[$i] = $photo->Get('big');
}
?>

затем его заполняю еще на javascript, чтобы было его видно в функции написаной на javascript:

var b = new Array();
var i = 0;
<?
for($i=0$i<count($arrbig); $i++)
{
?>
b[i]=<?=$arrbig[$i];?>;
i++;
<?
}
?>

затем функция, пусть такая чтобы поменьше:

function prev(tek)
{
    alert(b.length);
}

ну и сам вызов функции
<A href="javascript:prev(<?=$tek;?>)">
и мне выдает "предпологается наличие обьекта", что тут может быть? может это как то связано что массив не числовой? потомучто когда вставляю другой массив тут ошибки нет.

  Ответить  
 
 автор: sim5   (09.01.2009 в 11:59)   письмо автору
 
   для: inga   (09.01.2009 в 11:51)
 

Как вы думаете - когда вы заполняете массив для JS на стороне сервера, будет ли инкрементироваться JS-переменная i ? Вы хотя бы для начала посмотрите, будет ли передан пользователю ваш массив (желаемый), а уж потом остальное ;-)

  Ответить  
 
 автор: inga   (09.01.2009 в 12:25)   письмо автору
 
   для: sim5   (09.01.2009 в 11:59)
 

смотрела, в таком варианте, он отличается только тем что другое данные, работает
$arrid = $photocat->GetArray();
потом
<script language="javascript">
var a = new Array();
var i = 0;
<?
for($i=0; $i<count($arrid); $i++)
{
?>
a[i]=<?=$arrid[$i];?>;
i++;
<?
}
?>
</script>
function prev(tek)
{
alert(a.length);
}

  Ответить  
 
 автор: mikha   (09.01.2009 в 12:22)   письмо автору
 
   для: inga   (09.01.2009 в 11:51)
 

<!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">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />
</head>
<body>
<?php
$arrbig 
= array();
$arrbig[] = 1;
$arrbig[] = 5;
$arrbig[] = 88;
$arrbig[] = 'qq';
$arrbig[] = 'www';
$arrbig[] = 'eee';
echo 
'<pre>';
print_r($arrbig);
echo 
'</pre>';
?>
<script type="text/javascript" language="javascript">
var b = new Array();
<?
for($i 0$i count($arrbig); $i++){
    echo 
"b[$i] = '$arrbig[$i]';\n";
}
?>
alert(b.length);
</script>
</body>
</html>

Проверяйте там где это возможно что передаётся, что нет. Просматривайте код в браузере, что у вас получается на выходе и всё получится.

  Ответить  
 
 автор: inga   (09.01.2009 в 12:39)   письмо автору
 
   для: mikha   (09.01.2009 в 12:22)
 

тут однозначно дело в том что массив передаю не числовой а слова в нем.

  Ответить  
 
 автор: mikha   (09.01.2009 в 12:41)   письмо автору
 
   для: inga   (09.01.2009 в 12:39)
 

Если посмотрите в то что я вам выше написал, то увидите, что там и числа и слова.

  Ответить  
 
 автор: inga   (09.01.2009 в 12:45)   письмо автору
 
   для: inga   (09.01.2009 в 12:39)
 

ох, вот в слух говорила и разобралась. все дело в том что нужно было значания массива взять в кавычки, потомучто они символьные
b[i]='<?=$arrbig[$i];?>';
всем спасибо!

  Ответить  
Rambler's Top100
вверх

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