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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Вопрос по вызову функции из отдельного файла, document.write 
:(
    Опции темы
Ivanchenko Anton
Дата 18.8.2005, 11:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Доброго времени суток, уважаемые.
Прошу помощи в решении следующей проблемы:
Есть текст (например "5-00-00"), который надо выводить в куче html-страниц. Я решил поступить хитро smile и сделать отдельный js-файл, который будет содержать функцию вывода:

Код

//Javascript Document
<!--
function menu1(){
document.write("5-00-00");
};
//-->


Теперь в самой html-странице в ячейке таблицы, где должен появиться заветный текст, набираю:

Код

<script language="JavaScript" type="text/JavaScript" src="menus.js">
menu1();
</script></td>


Я считал, что должна была вызваться функция menu1, которая вставит тект "5-00-00". Только вот не работает все это smile Подскажите пожалуйста, как правильно сделать?
PM MAIL   Вверх
Ace Wentura
Дата 18.8.2005, 12:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Вот, наваял кое-что. Будут вопросы- пиши. Надеюсь, что это поможет.
Код

<html><head><title></title></head>
<script language="JavaScript" type="text/javascript">
<!--
function menu1(){
  document.getElementById("qwe").appendChild(document.createTextNode('5-00-00'));
}
<!---->
</script>

<body>
  <table width="100%" border="1">
    <tr>
      <td id="qwe">
        <script language="JavaScript" type="text/javascript">
        <!--
          menu1();
        <!---->
        </script>
      </td>
    </tr>
  </table>
</body>
</html>


Это сообщение отредактировал(а) Ace Wentura - 18.8.2005, 12:15
PM MAIL   Вверх
Ivanchenko Anton
Дата 18.8.2005, 12:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Спасибо, Ace Wentura, но это не совсем то smile . Моя проблема заключается в том, что надо запускать функцию menu1, находящуюся в отдельном файле menus.js.
PM MAIL   Вверх
Ivanchenko Anton
Дата 18.8.2005, 12:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Вроде решил задачу smile

Сделал вот так, и все заработало:

Код

//Javascript Document
<!--
document.write("5-00-00");
//-->


Код

<td>
<script language="JavaScript" type="text/JavaScript" src="menus.js">
</script></td>


Получается, что если в теге <script> указан "src=...", то все что идет за этим тегом далее (до закрывающего </script>) не поспринимается? Или проблема в чем то другом была?
PM MAIL   Вверх
Aliance
Дата 18.8.2005, 13:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I ♥ <script>
****


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

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



Код

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<HTML>
<HEAD>
<TITLE>© AlianceHTMLEditor [ http://editor.sut.net.ru/editor.html ]</TITLE>
<script type="text/javascript" language="JavaScript">
<!--//--><![CDATA[//><!--

function menu() {
   return "5-00-00";
}

//--><!]]>
</SCRIPT>
</HEAD>

<BODY>

<TABLE border=0>
<TR>
<TD>
<script type="text/javascript" language="JavaScript">
document.write(menu());
</SCRIPT>
</TD>
</TR>
</TABLE>

</BODY>
</HTML>

PM MAIL WWW ICQ Skype   Вверх
Ace Wentura
Дата 18.8.2005, 14:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Насколько я понял, проблема была в следующем:
код:
Код

<script language="JavaScript" type="text/JavaScript" src="menus.js">
</script>

отвечает за подключение соответствущего файла со скриптами. Это можно делать где угодно (желательно в начале ХТМЛ-документа).
Для того, чтобы вызвать функцию необходимо в теле программы сделать следующее:
Код

<td><script language="JavaScript" type="text/JavaScript">
menu1();
</script></td>

В твоём же исполнении выполнено одновременно подключение функции и вызов её. Возможно, что в связи с этим и была проблема. А если ты пытался вызвать одну и ту же функцию таким образом в теле документа дважды - то наверняка получал ошибки в связи с дублированием функции.
PM MAIL   Вверх
Sardar
Дата 18.8.2005, 15:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бегун
****


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

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



Цитата(Ivachenko @ 18.8.2005, 11:54)
Получается, что если в теге <script> указан "src=...", то все что идет за этим тегом далее (до закрывающего </script>) не поспринимается?

Да, указав src, содержимое тега <script> игнорируеться.


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


Новичок



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

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



Все понял.
Получается, что правильно будет сначала в <head></head> делать <sript ... src=...></script>, а уже потом в теле html-страницы вызвать <sript ... >[нужная функция]</script>, и пойдет обращение к нужной функции, находящийся во внешнем js-файле.
Спасибо.
PM MAIL   Вверх
Aliance
Дата 19.8.2005, 14:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I ♥ <script>
****


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

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



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


 




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


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

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