Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Два одинаковых скрипта.. Как устранить конфликт? (https://javascript.ru/forum/misc/41553-dva-odinakovykh-skripta-kak-ustranit-konflikt.html)

Mark_Larin 19.09.2013 00:27

Два одинаковых скрипта.. Как устранить конфликт?
 
Всем привет:thanks:

Пишу свое первое сообщение на этом форуме.. Посоветовали к вам обратиться..

Проблема следующая: есть чужой скрипт, в котором: заполняем необходимые пункты, жмем кнопку отправить и.. на форуме создается новая тема.

<style type="text/css">
                        #ank_container {margin: auto; width: 600px;}
                      </style>
                      <form name="newanket">
                        <table id="ank_container">
                            <tr>
                              <td style="text-align: center;" colspan="2"><img 

          src="http://img14.imageshack.us/img14/1743/thumbvespergroupphoto.png" alt="" width="482" height="162"></td>
            <tr>
                              <td>Ваш ник:</td>
                              <td><input type="text" name="yourname" size="35"></td>
                            </tr>
            <tr>
                              <td>Ник противника:</td>
                              <td><input type="text" name="yournick" size="35"></td>
                            </tr>
            <tr>
                              <td>Выберете вашу стихию:</td>
                              <td><select name="yourclass">
                                  <option value="Пайрос">Пайрос</option>
                                  <option value="Хаос">Хаос</option>
        <option value="Аквас">Аквас</option>
        <option value="Даркус">Даркус</option>
        <option value="Вентус">Вентус</option>
        <option value="Сабтерра">Сабтерра</option>
                                </select></td></tr>
            <tr>
                              <td>Ваш ход:</td>
                              <td><textarea name="yourabout" cols="30" rows="5"></textarea></td>
                            </tr>
            <tr>
                              <td colspan="2"><input type="checkbox" name="rules" onclick="buttonOk(this, this.form);"> После нажатия кнопки отправить вы попадёте на страницу создания темы, не обращайте внимание на ошибку, просто нажмите "Отправить"</td>
                            </tr>
            <tr>
                <td style="text-align: center;" colspan="2"><input type="button" name="post" value="Отправить" onclick="formSubmit(this.form, document.post);" disabled ></td>
                </tr>
            </table>
                      </form>
            <form  action="/post" method="post" name="post" enctype="multipart/form-data">
                        <input type="text" name="subject" style="display: none;">
                        <input type="text" name="username" style="display: none;">
                        <input type="hidden" name="lt" value="0">
                        <input type="hidden" name="mode" value="newtopic">
                        <input type="hidden" name="topictype" value="0" checked="checked">
                        <input type="hidden" name="f" id="f" value="32">
                        <textarea name="message" style="display: none;"></textarea>
                        <input type="hidden" name="post" value="Отправить">
                      </form>
            <script type="text/javascript">
                        function buttonOk(el, elf)
            {
                        if(elf.post.disabled) elf.post.disabled=false;
                        else elf.post.disabled=true;
                        }
                        function formSubmit(f, fs)
            {
                             if(f.yourname.value 
                         && f.yournick.value 
                         && f.yourabout.value)
            {
                 fs.subject.value = "Я против "+f.yournick.value;
                 fs.username.value = f.yournick.value;
                 fs.message.value = "Мое имя: [b]"+f.yourname.value+"[/b] \n Имя противника: [b]"+f.yournick.value+"[/b] \n Стихия: [b]"+f.yourclass.value+"[/b] \n Ход: [b]"+f.yourabout.value+"[/b] ";
            //alert(fs.subject.value+"\n"+fs.username.value+"\n"+fs.message.value+"\n"+fs.post.value);
                              fs.submit();
                            } else alert("Все поля обязательны для заполнения!");
                        }
                      </script>

В этом скрипте заранее указан форум, в котором будет создаваться новая тема: (<input type="hidden" name="f" id="f" value="32">)


Подскажите пожалуйста, что нужно добавить в код, что-бы была возможность пользователю выбрать в каком из например, 4-х подфорумов будет создаваться новая тема?

Пример пользователя: У него 4 подфорума(Арены), в каждом из которых, игроки создавая новую тему - вызывают друг друга на поединок.. Бои специализированные, соответственно, вызов должен быть адресован в соответствующий текущей необходимости, раздел...

Скрипт, который я выше выложил, позволяет создавать новую тему только в одном конкретном разделе..

Как сделать возможность выбора из, например 4-х заранее известных разделов?

Сразу скажу, что мне нужно готовое решение..

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

Но никаких гарантий не могу дать, что щас все брошу и начну изучать скрипты.. Некогда!

Я курирую тему, в которой сам ничего не понимаю, но приходится это делать ввиду отсутствия автора скрипта и появления новых потребностей у пользователей.. или каких-то траблов с кодом...

Со старыми проблемами я еще как-то справляюсь - не нужно понимать скрипт, если он всего один и ты его знаешь попунктно... Но вот, если появляются новые вопросы.. Вот тут все и заканчивается.. Была мысль - поставить 4 кода этого скрипта на страницу, но они начинают конфликтовать между собой.. кнопка Отправить не работает.. Я пытался интуитивно изменить некоторые элементы в скриптах. что-бы они хоть как-то отличались.. Но без ума - сами знаете.. В общем не удалось..

Извиняюсь, за может быть не совсем вежливый тон повествования или как его там..

p.s. Советы общего плана, типа: поставьте переключатель и т.п..... - Что поставить? Куда поставить? Если не слишком затруднительно, выложите пожалуйста готовое решение.


С уважением, Марк

ksa 19.09.2013 08:59

Цитата:

Сообщение от Mark_Larin
Но никаких гарантий не могу дать, что щас все брошу и начну изучать скрипты.. Некогда!

Тогда лучше забей! :D

Mark_Larin 19.09.2013 09:52

не понял.. что забить?

ksa 19.09.2013 09:53

Цитата:

Сообщение от Mark_Larin
не понял.. что забить?

На скрипты те забить. У тебя ведь и так дел навалом! Зачем это тебе?

Mark_Larin 19.09.2013 10:17

Цитата:

Сообщение от ksa (Сообщение 272825)
На скрипты те забить. У тебя ведь и так дел навалом! Зачем это тебе?

Я вроде-бы понятно написал, что попытки разобраться в коде были, но что-бы самому найти решение проблемы потребуется очень много времени. Да, в настоящий момент я изучаю информацию, но по другим вопросам. Но не факт, что мне удастся понять все хитрости создания скриптов..
Поэтому и обратился на ваш форум с помощью:

Ответ нужен такой - либо встроить в скрипт дополнительный "блок", позволяющий выбирать раздел, в котором будет создаваться новая тема.

Либо: как на одну страницу поставить точно такой-же скрипт(т.е. два) и в каких пунктах необходимо провести изменения во втором скрипте..


Для примера, есть другой скрипт:
<script type="text/javascript"><!--
        function winop()
        {
        windop = window.open("http://www.radiosk.ru/on_air","mywin","height=330,width=1000");
        }
        // --></script>
        <a href="javascript:winop();">Екатеринбург <img src="http://savepic.org/2803591.jpg" alt="Екатеринбург" title="" /></a>

Он открывает нужную страничку в новом окне заданных размеров.

И есть второй точно такой-же скрипт:
<script type="text/javascript"><!--
        function winopp()
        {
        windop = window.open("ссылка на страничку","mywin","height=500,width=700");
        }
        // --></script>
        <a href="javascript:winopp();">Радио <img src="ссылка на картинку" border="0" /></a>

делает то-же самое, но размеры окна и ссылка заданы другие..

И они не конфликтуют между собой.

Используя пример этих двух скриптов, я сделал третий такой-же.


Вот и вопрос, можно-ли также изменить некоторые элементы выложенного в первом сообщении скрипта, и какие именно

Mark_Larin 19.09.2013 20:28

Попробую еще раз объяснить более понятным языком:

пример: вы купили жесткий диск и не знаете, как его подключить к компу.. вы зашли в магазин, а там, продавец - флудильщик вам и говорит:

- изучите основы Виндоуз
-теорию построения жестких дисков
- процесс Парковки (очень важный!)
- ну и еще, какуюто хрень почитайте..

Мне это зачем нужно???

У меня есть скрипт. им пользуются несколько тысяч человек(админы разных форумов)..
Раз в 50 лет, возникает вопрос - как его можно улучшить, что-бы он делал вот так..

Ну так что.. Мне пойти считать кроликов? Или вы сами пойдете???


Я не могу по кругу в каждой теме жевать одну и ту-же проблему несколько раз, потому, что в результате я читаю ответы только по своему ниже выложенному комментарию..( то, что написано в первой теме ниже описания своей проблемы.. Примерно та часть где следует: 5. Если вы задаете вопрос, пожалуйста, опишите свои усилия для решения проблемы.
Они покажут, что вы не из тех лентяев, которые задают вопрос из-за нежелания что-то сделать самим.
Тогда вам постараются помочь.))

Скажите пожалуйста: А когда взрослые прийдут?

возможно тогда диалог удастся...

p.s. ну и еще есть одна хрень в виде вопроса и ответа.. Только ответ наверное специально урезанный:

"Как сделать чтобы в зависимости от value выпадающего списка <select> зависело value, определяющее форум, в котором будет создаваться тема.
То есть, если выбран первый пункт - тема создётся в одном форуме, если второй - во другом, если третий - в следующем и т.д."

И ответ есть - того-же спрашивающего:

"Спасибо, разобрался сам
Всё предельно просто оказалось

var subj = f.select.value;
var obj = document.getElementById("f");
obj.value = subj; "

Код:

var subj = f.select.value;
    var obj = document.getElementById("f");
    obj.value = subj;

Ну и как мне это использовать?


Или предлагаете про парковку жестких дисков почитать?

Скрипт - один (ОДИН!!!) других не нужно.. нет причин узнавать что такое Опрераторы и т.п..


Подскажите пожалуйста решение...

danik.js 19.09.2013 22:28

Цитата:

Сообщение от Mark_Larin
пример: вы купили жесткий диск и не знаете, как его подключить к компу.. вы зашли в магазин, а там, продавец - флудильщик вам и говорит:

Ты кое-что не учел, товарищ. Чтобы сопоставлять себя с покупателем ты должен был создать тему в этом разделе. А пока что ты в роли попрошайки. Причем наглой.

ksa 19.09.2013 22:37

И продавец диска не обязан рассказывать как тот диск ставить в комп...

Mark_Larin 20.09.2013 13:58

Цитата:

Сообщение от danik.js (Сообщение 272938)
Ты кое-что не учел, товарищ. Чтобы сопоставлять себя с покупателем ты должен был создать тему в этом разделе. А пока что ты в роли попрошайки. Причем наглой.

Кто-же спорит..

тема не в том разделе - согласен. Но обычно на очередном форуме глаза разбегаются и трудно сразу понять, в каком разделе нужно было создавать новую тему..

А почему ее тогда не переместили в этот раздел

Насчет наглости - думаю - взаимно.. ответы потрясающие..


p.s. по поводу кроликов.. Если их достают поштучно, то наверное так сообщение будет лучше восприниматься:

<html>
<body>
    <h1>Считаем кроликов</h1>

    <script type="text/javascript">
        for(var i=1; i<=3; i++) {
            alert("Из шляпы достали "+i+"-го кролика!")
        }
    </script>
    <h1>...Посчитали</h1>
</body>
</html>

bes 21.09.2013 18:34

Цитата:

Сообщение от Mark_Larin
А почему ее тогда не переместили в этот раздел

здесь самообслуживание: набираешь, идёшь на кассу :D


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