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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Чем заменить метод innerText для Firefox? 
:(
    Опции темы
pLastUn
Дата 10.11.2005, 14:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Всем здравствуйте!

Ситуация такая -

есь некое окно с формой и нижеследующим кодом:
Код

<span id='scount'>0</span> ед. товара на сумму<b><span id='sum'>0.00</span>

Данные формы передаются php-скрипту, который в конце имеет такой код:
Код

echo("<html><body><script language=javascript>");
echo("window.opener.scount.innerText='".count($zakaz)."';");
echo("window.opener.sum.innerText='".number_format(array_sum($sum),2,'.',' ')."';");
echo("window.close();");
echo("</script></body></html>");

В IE и Opera все это работает на ура,
в Firefox не работает, а в консоли JavaScript пишет "Ошибка: window.opener.scount has no properties".

Может кто подскажет, как сделать, чтобы это работало и в Firefox.

Это сообщение отредактировал(а) pLastUn - 10.11.2005, 15:31
PM MAIL   Вверх
Sardar
Дата 11.11.2005, 01:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бегун
****


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

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



Во первых у тебя window.opener.scount равно null, вероятно ты getElementById не пользуешся.

Для мозиллы юзаем textContent, эквивалент innerText.


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


Новичок



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

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



Уважаемый Sardar!

Нельзя ли поподробнее.

Я тут нашел похожий пример http://forum.vingrad.ru/index.php?showtopi...ndpost&p=420750 но никак не соображу, как его переделать для своих нужд.

Зараннее спасибо.
PM MAIL   Вверх
pLastUn
Дата 11.11.2005, 16:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Спасибо , разобрался , получилось вот так:
Код

echo("<html><body></span><script language=javascript>"); 
echo("var a='".count($zakaz)."';"); 
echo("var b='".number_format(array_sum($sum),2,'.',' ')."';"); 
echo("if(!window.opener||window.opener==self) self.close();"); 
echo("var f=window.opener.document.getElementById('scount');"); 
echo("var g=window.opener.document.getElementById('sum');"); 
echo("if (window.navigator.appName != 'Netscape')"); 
echo("{f.innerText=a; g.innerText=b} "); 
echo("else {f.textContent=a; g.textContent=b};"); 
echo("self.close();");       
echo("</script></body></html>"); 


Работает в IE Opera FireFox, в других не проверял, нету.
PM MAIL   Вверх
Sardar
Дата 11.11.2005, 22:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бегун
****


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

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



pLastUn приводи html/js, а не PHP. По коду, проверка на нетскейп плохая, лучше:
Код
if(typeof(f.innerText)!='undefined') {
  f.innerText=a;
  g.innerText=b;
} else {
  f.textContent=a;
  g.textContent=b;
}

И никакой привязки к конкретному браузеру.


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


Новичок



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

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



Да, так тоже работает, СПАСИБО!
PM MAIL   Вверх
Aliance
Дата 17.11.2005, 19:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I ♥ <script>
****


Профиль
Группа: Модератор
Сообщений: 6418
Регистрация: 2.8.2004
Где: spb

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



А почему не используем универсальный innerHTML ?
PM MAIL WWW ICQ Skype   Вверх
Sardar
Дата 18.11.2005, 00:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бегун
****


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

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



Цитата(Aliance @ 17.11.2005, 18:40)
А почему не используем универсальный innerHTML ?

Потому что разметку выдаёт.


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


I ♥ <script>
****


Профиль
Группа: Модератор
Сообщений: 6418
Регистрация: 2.8.2004
Где: spb

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



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


 




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


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

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