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

HTML+CSS+JavaScript

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

 

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

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

тема: кол-во элементов массива
 
 автор: Blizard   (15.02.2009 в 01:43)   письмо автору
 
 

С ajax приходит поток данных в переменную message в формате 0^0^0^1^0 и т.д., т.е. в любом порядке нули и еденицы, но за место нулей может быть чтото типа 3-town-4@0

принимаю данные


....
 if (xmlHttp.status == 200)
             {
                      message = xmlHttp.responseText;
...


делаю массив


                      var temp = new Array();
                      temp = message.split(\"^\");


объявляю массивы и используемые переменные


var tw1 = new Array();
var tw2 = new Array();
var texxt=\"\";
var h;
var w;
var ccc1;
var ccc2;
var dfg = 1;


дальше пытаюсь принятые данные вывести таблицей картинок, для этого формирую переменную texxt в двух циклах


texxt+=\"<table border=0 cellpadding=0 cellspacing=0>\";
for (h=1;h<=9;h++)
 {
texxt+=\"<tr><td width=11 height=60 background=imgs/sd1.jpg></td>\";
for(w=1;w<=13;w++)
 {


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


tw1 = temp[dfg].split(\"@\");
ccc1 = count(tw1);
if (ccc1 > 1)
{
tw2 = tw1[0].split(\"-\");
}
else
{
tw2 =  temp[dfg].split(\"-\");
ccc2 = count(tw2);
  if (ccc2>1)
  {
        if ((tw2[0]==\"0\") && (tw2[1]==\"town\"))
        {
        temp[dfg]=\"10\";
        }
   }
}



если данный элемент просто число то никакие пробразования выше на него не действовали, вывожу переменную texxt как одну из ячеекв которой temp[dfg] равна 0 или 1, если выше преобразования действовали то temp[dfg] равна 10


texxt+=\"<td id=\"+h+\"y\"+w+\" height=60 width=60 background='imgs/\"+temp[dfg]+\"-1.jpg' onMouseOver=document.getElementById('\"+h+\"y\"+w+\"').background='imgs/\"+temp[dfg]+\"-2.jpg'; onMouseOut=document.getElementById('\"+h+\"y\"+w+\"').background='imgs/\"+temp[dfg]+\"-1.jpg';></td>\";
dfg+=1*1;
}
texxt+=\"<td width=11 height=60 background=imgs/sd1.jpg></td></tr>\"; 

texxt+=\"</table>\";
document.getElementById(\"divMessage\").innerHTML=texxt;
           }



ошибку пишет - предполагается наличие объекта и указывает на строку в которой пытаюсь посчитать кол-во элементов массива tw1 ----- ccc1 = count(tw1);
может быть я неверно применяю ф-ию count(); просто не особо силен в javascript, скажите, как исправить?

  Ответить  
 
 автор: PAT   (15.02.2009 в 03:26)   письмо автору
 
   для: Blizard   (15.02.2009 в 01:43)
 

Метода count в Javascript'e нет вообще. Таковой имеется в VBS (и в WSH), но не в Javascript'e.

И он вам здесь и не нужен.

Массив tw2 у вас получается обычный (с числовыми индексами), поэтому замените
ccc2 = count(tw2);
на
ccc2 = tw2.length;

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

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