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

HTML+CSS+JavaScript

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

 

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

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

тема: Google Chrome / safari - не выполняют JavaScript
 
 автор: Trackman   (02.02.2012 в 22:19)   письмо автору
 
 

Здравствуйте,
Столкнулся с интересной проблемой -
Safari и Google Chrome - - не нравится код

...
name = document.getElementById('name');
alert('1');
    if(name.value == "") {name.style.border="1px solid red";} else {name.style.border="1px solid green";} alert('2');

....
Первый alert выпрыгивает, второй уже нет. Я так понимаю, браузеры останавливаются, т.к где-то они видят ошибку ?

Если кто знает в чем причина, буду очень признателен.

  Ответить  
 
 автор: mihdan   (03.02.2012 в 11:11)   письмо автору
 
   для: Trackman   (02.02.2012 в 22:19)
 

Консоль Google Chrome ответила:

Uncaught TypeError: Cannot set property 'border' of undefined


Попробуйте:


foo = document.getElementById('name'); 
alert('1'); 
if(foo.value == "") {
    foo.style.border="1px solid red";
} else {
    foo.style.border="1px solid green";

alert('2');


Вы использовали в качестве переменной ключевое слово

  Ответить  
 
 автор: Trackman   (03.02.2012 в 16:37)   письмо автору
 
   для: mihdan   (03.02.2012 в 11:11)
 

Сделал по другому, перенес код javascript'a в HTML ( плохо конечно), и обьявил до этого переменные (var name.. ) заработало. Хотя в отдельном файле код не работает, что странно.

  Ответить  
 
 автор: Lelik   (03.02.2012 в 17:19)   письмо автору
 
   для: Trackman   (03.02.2012 в 16:37)
 

как происходит подключение файла и вызов функции, что оно не работает?

  Ответить  
 
 автор: Trackman   (03.02.2012 в 17:31)   письмо автору
 
   для: Lelik   (03.02.2012 в 17:19)
 

<script type="text/javascript" src="http://aaa/js/func.js"></script>


Вызов -

<input type="button" value="bbb" onClick="функция();" />

  Ответить  
 
 автор: Lelik   (03.02.2012 в 17:45)   письмо автору
 
   для: Trackman   (03.02.2012 в 17:31)
 

а как в файле функция описана и вообще содержание файла скриптового?

  Ответить  
 
 автор: Trackman   (03.02.2012 в 22:37)   письмо автору
 
   для: Lelik   (03.02.2012 в 17:45)
 

Содержание - просто список функций с описанием.

Функция описана так, как написано выше, только var name добавлен.

  Ответить  
 
 автор: АЯС   (03.02.2012 в 18:34)   письмо автору
 
   для: Trackman   (02.02.2012 в 22:19)
 

Ох уж эти любители правильных английских слов :-)

Поменяйте имена и всё заработает
hren = document.getElementById('zhopa');
alert('1');
    if(hren.value == "") {hren.style.border="1px solid red";} else {hren.style.border="1px solid green";} alert('2');

name - это свойство объекта window. Это свойство полностью надо указывать window.name, но можно и просто name, браузер воспринимает именно как свойство объекта window.

Аналогично можно указывать просто alert () - а это тоже свойство объекта window и полная его запись будет window.alert ().

name, как и top - это, по сути, зарезервированые слова. См. пример и рекомендации - http://www.softtime.ru/forum/read.php?id_forum=4&id_theme=82674#post492307

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

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