Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 30.07.2010, 11:07
Новичок на форуме
Отправить личное сообщение для Uhehesh Посмотреть профиль Найти все сообщения от Uhehesh
 
Регистрация: 30.07.2010
Сообщений: 5

Мой первый опыт с JavaScript, проблемы
Здравствуйте.
Я полный чайник в JavaScript, так как впервые работал с ним вчера. Понял основы я лишь благодаря тому, что JavaScript является C-подобным, а я программирую на C# для Windows.
Вчера я делал следующий проект со следующим кодом:

function echo()
{
var mda = new Array();
mda = x.value.split(" ");

for(var i = 0; i < mda.length; i++)
{

try {
 if(typeof eval(mda[i]) == 'number')
 {
   window.open("http://domain.com.ua/showone/" + mda[i], "uhehe" + mda[i], "");
 }
}
catch(err)
{
continue;
}

}
}


Здесь - x.value это содержимое текстового поля x, куда вводятся числовые значения через пробел. Далее открываются объекты на сайте недвижимости domain.com.ua (настоящий адрес скрыт).
Пример работы данного скрипта можно увидеть здесь: http://mda.net.ru/yrent.html.

Однако, у меня возникла проблема. Этот код работает только на Opera и IE. В Firefox и Webkit-браузерах он отказывается работать, что бы я ни делал.

В чём же проблема?
Ответить с цитированием
  #2 (permalink)  
Старый 30.07.2010, 11:37
Отправить личное сообщение для Octane Посмотреть профиль Найти все сообщения от Octane  
Регистрация: 10.07.2008
Сообщений: 3,873

http://javascript.ru/tutorial/dom/search
Ответить с цитированием
  #3 (permalink)  
Старый 30.07.2010, 12:39
Новичок на форуме
Отправить личное сообщение для Uhehesh Посмотреть профиль Найти все сообщения от Uhehesh
 
Регистрация: 30.07.2010
Сообщений: 5

Уфф... Не понимаю!
Я плохо понял, как мне это должно помочь.
Ответить с цитированием
  #4 (permalink)  
Старый 30.07.2010, 12:41
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

x у вас откуда берётся?
Ответить с цитированием
  #5 (permalink)  
Старый 30.07.2010, 12:46
Новичок на форуме
Отправить личное сообщение для Uhehesh Посмотреть профиль Найти все сообщения от Uhehesh
 
Регистрация: 30.07.2010
Сообщений: 5

Из инпута (текст).
Ответить с цитированием
  #6 (permalink)  
Старый 30.07.2010, 12:47
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Переменная x откуда берётся, а не её значение?
Ответить с цитированием
  #7 (permalink)  
Старый 30.07.2010, 13:00
Новичок на форуме
Отправить личное сообщение для Uhehesh Посмотреть профиль Найти все сообщения от Uhehesh
 
Регистрация: 30.07.2010
Сообщений: 5

Что-то я ничего не понимаю.
Боюсь ответить неправильно, но отвечу хоть как-нибудь...
Исправьте, если я ошибся, учиться нужно.

Скрипт можно увидеть тут. x - инпут текста, находящийся на этой HTML-странице (вы это уже поняли ).
Но откуда берётся переменная x...
Ответить с цитированием
  #8 (permalink)  
Старый 30.07.2010, 13:06
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,069

Uhehesh,
input в котором имя х надо как то найти, тебе дали ссылку как искать элементы, проще всего добавить id='x'
<input id='x' name='x'  type="text" size="40%" style="font-size:18px;"> <input type="submit" style="height: 30px;" value="Просмотреть" onclick=echo()>

после этого можно искать элемент по document.getElementById('x')
соотвественно
строка
mda = x.value.split(" ");

будет такой
mda = document.getElementById('x').value.split(" ");

можно искать и по имени document.getElementsByName(name) но на твоей тестовой странице это не сработает она сляпана как попало
Ответить с цитированием
  #9 (permalink)  
Старый 30.07.2010, 13:07
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Вот именно, откуда берётся переменная x

IE создаёт глобальные JavaScript-переменные для элементов с указанным id или name. Поэтому в нём переменная x определена. Opera, как всегда, передразнивает остальные браузеры, поэтому в ней x тоже определена. А в остальных браузерах придётся по-хорошему: сначала найти элемент в DOM дереве, а потом уже брать его значение. Вот Octane вам и дал соответствующую ссылку.
Ответить с цитированием
  #10 (permalink)  
Старый 30.07.2010, 13:12
Новичок на форуме
Отправить личное сообщение для Uhehesh Посмотреть профиль Найти все сообщения от Uhehesh
 
Регистрация: 30.07.2010
Сообщений: 5

Действительно, всё заработало!
А ведь вчера хотел так сделать, но ужасно хотелось спать и подумал, что всё будет работать и так.
Вы мне очень помогли, каждому - по плюсу.

Буду аккуратнее в следующий раз и буду проверять несколько раз.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите с javascript andruhin Общие вопросы Javascript 12 04.05.2012 10:05
Javascript PHP и Cookies проблемы с кодировкой cristalith Серверные языки и технологии 6 31.10.2009 11:12
Javascript разработчик, СПб, от 1500USD LudmilaKugel Работа 0 09.07.2009 17:43
глюк форума Gvozd Сайт Javascript.ru 11 18.03.2009 14:37
первый опыт jquery. Вопросы. Titto jQuery 0 17.09.2008 10:32