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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> string & getElementById 
V
    Опции темы
Вася К.
Дата 22.12.2010, 10:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 101
Регистрация: 9.2.2005

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



Добрый День!

Есть такой код

Код

function replace_data(data)
{
var cname, html_data;
cname = data.substr(1, 10);
document.getElementById(cname).innerHTML = html_data;
}


Так вот,  document.getElementById(cname) в этом случае возвращает Null, но если  я  сделаю так 

Код

function replace_data(data)
{
var cname, html_data;
cname = "element_id"; // <----------- 
document.getElementById(cname).innerHTML = html_data;
}


то все получается. В чем прикол? Спасибо!
--------------------
Да здраствует ОПТИМИЗМ!
PM MAIL YIM   Вверх
MaxTex
Дата 22.12.2010, 11:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 29
Регистрация: 29.10.2010
Где: Орел

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



Может правильно так: cname = data.substr(0, 10); , тк первая позиция начинается от 0.

PM MAIL WWW   Вверх
Вася К.
Дата 22.12.2010, 11:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 101
Регистрация: 9.2.2005

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



неа, alert(cname) выводит id элемента, но код не работает
--------------------
Да здраствует ОПТИМИЗМ!
PM MAIL YIM   Вверх
MaxTex
Дата 22.12.2010, 11:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 29
Регистрация: 29.10.2010
Где: Орел

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



Тогда не знаю. Информации недостаточно. 
Например откуда функция replace_data(data) получает входные данные.
PM MAIL WWW   Вверх
Вася К.
Дата 22.12.2010, 11:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 101
Регистрация: 9.2.2005

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



В своем проекте я использую jquery.$.post("/somescript.php", {}. replace_data);

replace_data - это функция, которая вызывается, когда выполнится запрос somescript.php, и результат передается в нее через переменную data. Я так понимаю. что это обычный текст.
--------------------
Да здраствует ОПТИМИЗМ!
PM MAIL YIM   Вверх
нуп
Дата 24.12.2010, 02:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ботокодер
**


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

Репутация: 13
Всего: 33



Может элемент не существует?!  smile 
PM MAIL   Вверх
ksnk
Дата 24.12.2010, 09:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прохожий
****


Профиль
Группа: Комодератор
Сообщений: 6855
Регистрация: 13.4.2007
Где: СПб

Репутация: 84
Всего: 386



Код

cname = data.substr(1, 10);
//
alert([cname ,cname =='element_id'])
//

а если добавить туда вот такой код. что оно покажет?

функция substr(1,10) вырежет строку, начиная со второго (считаем с 1-го) символа 10 символов длиной...


--------------------
Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! user posted image
PM MAIL WWW Skype   Вверх
Вася К.
Дата 26.12.2010, 14:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 101
Регистрация: 9.2.2005

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



покажет false, т. е. element_id и element_id -  либо разные вещи, либо неодинаковые строки  smile 
и поскольку это во всех браузерах так, я сделал вывод, что проблема во мне. что там сравнивается, не пойму 

Это сообщение отредактировал(а) Вася К. - 26.12.2010, 14:13
--------------------
Да здраствует ОПТИМИЗМ!
PM MAIL YIM   Вверх
ksnk
Дата 26.12.2010, 15:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прохожий
****


Профиль
Группа: Комодератор
Сообщений: 6855
Регистрация: 13.4.2007
Где: СПб

Репутация: 84
Всего: 386



Вася К., кроме false мой код должен был бы вывести еще и оригинальное значение cname.

Вообще - пора уже открыть для себя отладчик javascript. Отладка отладчиком - несравненно эффективнее отладки на форуме  smile 


--------------------
Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! user posted image
PM MAIL WWW Skype   Вверх
Вася К.
Дата 26.12.2010, 21:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 101
Регистрация: 9.2.2005

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



ksnk, спасибо!

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


 




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


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

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