Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Как можно совместить 2 "одинаковые javascript но разные внутри" в одну страницу?..ато (https://javascript.ru/forum/dom-window/16865-kak-mozhno-sovmestit-2-odinakovye-javascript-no-raznye-vnutri-v-odnu-stranicu-ato.html)

rashid86 25.04.2011 21:11

Как можно совместить 2 "одинаковые javascript но разные внутри" в одну страницу?..ато
 
Вложений: 1
Как можно совместить 2 одинаковые javascript но разные внутри в одну страницу?..а то одна стабильно работает, а другая не нормально работает(
вот код на site.js:
<!--
document.write('<form name="sitesearch">Поищи в Интернете:<br/><input name="query1" type="text" size="30" maxlength="100" value=""><br/><select name="engine"><option value="google">Google</option><option value="yandex">Yandex</option><option value="vk">Вконтакте</option><option value="wikipedia">Wikipedia</option><option value="yahoo">Yahoo</option><option value="nigma">Nigma</option><option value="mp3">Поиск mp3</option><option value="altavista">Altavista.com</option><option value="kinopoisk">КиноПоиск</option><option value="tfile">Торрент Tfile</option><br/><input type="button" value="Искать" onClick="openWin()""></form>')

function openWin() {t = document.sitesearch.query1.value;
s = document.sitesearch.engine[document.sitesearch.engine.selectedIndex].value;
if (s == "google") {window.open("http://www.google.com/search?rls=ru&q="+ t);}
if (s == "yandex") {window.open("http://yandex.ru/yandsearch?text="+ t);}
if (s == "vk") {window.open("http://vkontakte.ru/login.php?u=2&to="+ t);}
if (s == "wikipedia") {window.open("http://ru.wikipedia.org/wiki/Special:Search?search="+ t);}
if (s == "yahoo") {window.open("http://search.yahoo.com/search;_p="+ t);}
if (s == "nigma") {window.open("http://www.nigma.ru/?s="+ t);}
if (s == "mp3") {window.open("http://music.ardor.ru/search.php?p=1&v=0&q="+ t);}
if (s == "altavista") {window.open("http://us.yhs4.search.yahoo.com/yhs/search?fr=altavista&fr=altavista&itag=ody&q="+ t);}
if (s == "kinopoisk") {window.open("http://s.kinopoisk.ru/index.php?first=no&kp_query="+ t);}
if (s == "tfile") {window.open("http://tfile.ru/forum/ssearch.php?q="+ t);}}
//-->

в вот на search.js:
<!--
document.write('<form name="metasearch">Поищи в Интернете:<br/><input name="query2" type="text" size="18" maxlength="100"  value=""><br/><select name="engine"><option value="google">Google</option><option value="yandex">Yandex</option><option value="vk">Вконтакте</option><option value="wikipedia">Wikipedia</option><option value="yahoo">Yahoo</option><option value="nigma">Nigma</option><option value="mp3">Поиск mp3</option><option value="altavista">Altavista.com</option><option value="tfile">Торрент Tfile</option><br/><input type="button" value="Искать" onClick="openWin()""></form>')

function openWin() {t = document.metasearch.query2.value;
s = document.metasearch.engine[document.metasearch.engine.selectedIndex].value;
if (s == "google") {window.open("http://www.google.com/search?rls=ru&q="+ t);}
if (s == "yandex") {window.open("http://yandex.ru/yandsearch?text="+ t);}
if (s == "vk") {window.open("http://vkontakte.ru/login.php?u=2&to="+ t);}
if (s == "wikipedia") {window.open("http://ru.wikipedia.org/wiki/Special:Search?search="+ t);}
if (s == "yahoo") {window.open("http://search.yahoo.com/search;_p="+ t);}
if (s == "nigma") {window.open("http://www.nigma.ru/?s="+ t);}
if (s == "mp3") {window.open("http://music.ardor.ru/search.php?p=1&v=0&q="+ t);}
if (s == "altavista") {window.open("http://us.yhs4.search.yahoo.com/yhs/search?fr=altavista&fr=altavista&itag=ody&q="+ t);}
if (s == "tfile") {window.open("http://tfile.ru/forum/ssearch.php?q="+ t);}}

//-->

соответственно в HTML вписываеться 2 адреса:
<script language="JavaScript" type="text/javascript" src="site.js"></script>
<script language="JavaScript" type="text/javascript" src="search.js"></script>


Весь день мучался, как сделать, чтобы оба скрипты работали нормально, или как совместить их в один файл .js ???

Gvozd 25.04.2011 21:47

у вас две функции с одинаковым названием.
простым решением не требующим мозговой деятельности будет переименовать одну из них, и заменить ее упоминания в соовтетсвующих местах на новые имена

правильным же решением, будет переписать функцию(ведь по сути это одна и та же функция), чтобы она принимала контекст своего вызова и обрабатывала соответсвующую форму

rashid86 25.04.2011 22:49

спосибо большое!!! :dance:


Часовой пояс GMT +3, время: 12:24.