Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Проверка существование массива, + доп. вопрос 
:(
    Опции темы
$дмитрий
Дата 16.11.2005, 13:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1037
Регистрация: 19.6.2004

Репутация: 2
Всего: 45



Код

var AutoModel = Array();
AutoModel[2] = Array();
AutoModel[2][1] = "1";
AutoModel[2][2] = "2";



как проверить существует ли массив, к примеру AutoModel[2][1] ?

пробывал так
Код

if(AutoModel[2][1]) alert('True');
if(typeof(AutoModel[2][1])) alert('True');
if(AutoModel[2][1] != null) alert('True');


во всех случаех выдает ошибку(underfined) ......

--------------------------

..... и второй вопрос: как подключить внешний файл(php), при условии что внешнему файлу передаются параметры. что то типа этого:
Код

файл №1
<script>

function go(file)
.... подключаем файл № 2(file10.php)

alert(a);

</script>

<a href=# onclick='go('10');'>



Код

файл №2
<?
echo "var a=6";
?>

т.е функции go передается параметр(часть имени), и соответственно JS должен загрузить этот файл(в данном случаи file10.php), далее исполнить содержимое(а именно alert(6);). как подключить файл?

Это сообщение отредактировал(а) Aliance - 17.11.2005, 19:57
PM MAIL   Вверх
Гость_12345
Дата 16.11.2005, 14:18 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











вместо if(AutoModel[2][1]) alert('True');
надо if(self.AutoModel[2][1]) alert('True'); (или windows.AutoModel ...)


2. Файл php не подключается, а исполняется, создавая подключаемый файл htm-типа или js, или xml . В часть htm-страницы после её получения браузером нельзя включить содержимое другого файла (но можно подгрузить в DOM-модель страницы). Есть разные методы получить новую страницу, не уничтожая существующую - загрузить её в другой фрейм, использовать XMLHttpRequest-запрос или запросить как js-страницу методом JSHttpRequest (см.по поиску). А можно и с уничтожением, как обычную смену страницы, всё зависит от задачи.
  Вверх
Sardar
Дата 16.11.2005, 14:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бегун
****


Профиль
Группа: Модератор
Сообщений: 6986
Регистрация: 19.4.2002
Где: Нидерланды, Groni ngen

Репутация: 78
Всего: 317



Просто вызов Array() ничего не делает по идее, нужно new Array() или просто []. Ошибок быть не должно, твой код должен отработать правильно и выдать три алерта.

Отсутствие любого свойства/поля возвращает undefined, но ошибок не генерит. JS ругаеться только если идёт обращение к не существующей переменной:

Код

var a=90;
var b={test: 100};

alert(a); //существует, даёт 90
alert(a.some_field); //не существует, даёт undefined, но и ошибок не генерит
alert(b.test); //поле существует и выдаёт 100
alert(b.toString); //нативная функция, тоже существует
alert(c); //здесь ошибка, c не существовует!


Отсюда вывод, у тебя не элемент массива не существует, у тебя сам массив не существует, во всех остальных случаях ошибок генериться не будет. Проверить существование переменной можно тремя способами, в порядке "правильности":

Код
alert(typeof(c)=='undefined'); выдаст true если c не существует

alert(Boolean(window.c)); выдаст true если c существует и имеет не нулевое(null, пустой массив, пустая строка) значение.

try {
  alert(c);
} catch(e) {
  alert("ну вас нафиг, нету c никакой...")
}


О втором вопросе. Во первых никогда не задавай более одного вопроса в одном топе, это дурной тон. Ответ простой, потому даю здесь. Подлючить скрипт можно только элементом script, который лучше разместить в заголовке. Лучше всего не создвать script элементы динамически, а подключить всё что тебе необходимо в момент загрузки страницы.

Динамическое включение можно сделать через:
Код
var sc=document.createElement('script');
sc.type='text/javascript';
sc.src=<путь до .php>
document.body.appendChild(sc);


Если таких скриптов делать много в момент работы, то ИЕ где то после 5 загрузки начнёт вылетать с "системной ошибкой". Для него лучше один раз создать элемент, а потом менять его src аттрибут, соотвественно перезагружая его контент.


--------------------
 Опыт - сын ошибок трудных  © А. С. Пушкин
 Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik
 Оценить мои качества можно тут.
PM   Вверх
Ciber SLasH
Дата 16.11.2005, 14:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1813
Регистрация: 9.11.2004
Где: С.-Петербург

Репутация: 24
Всего: 67



Проверка на значение:
Код
if (myArray[x][x] != undefined) {/* значение существует */}

Для передачи параметров серверным скриптам используй форму:
Код

<form method="POST" action='superScript.php'>
<input type="text" name="var" value="пиши сюда значение">
<input type="submit" value="Передать значение">
</form>

в скрипт попадёт переменная под именем "var", её значение и выводи PHP-скриптом обратно клиенту:
Код

<? echo($_POST['var']); ?>

PM   Вверх
$дмитрий
Дата 16.11.2005, 16:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1037
Регистрация: 19.6.2004

Репутация: 2
Всего: 45



спасибо ребята, все получилось .....
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию.
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.5336 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.