ОсновноеRadiotalkПользовательское
MPCHAT - CMS хостинг чатов для профессионалов
83   •   Посмотреть все темы

Функция опроса - вывод сообщений

 

7
Компания @SolidBrate
Помогите пожалуйста разобраться с выводом сообщением.
дело в том что это сообщение выводится только у меня на экране, а у других пользователей нет - не видят его.
плюс к этому там форма должна быть функционировать...
когда задаешь вопрос какой либо и несколько вариантов(не важно сколько), каждый пользователь выбирает ответ и этот ответ отображается в окошко результат.
и сделать так чтоб он выводил ответ тому кто имеет доступ к функцию опроса.
обозначил красным цветом где можно редактировать скрипт.
заранее буду благодарен.

в чат внутри

<div id="SB_Opros" style="display:none; background-color: #008800; border: #CC0000 solid 2px; border-radius: 10px; width: 240px; color:#FFFF00; padding: 10px">
<a>Опрос:</a>
<input type=text id="SB_Vopros" cols="32" maxlength="50" value="" placeholder="Напишите вопрос"><br>
<a>Варианты:</a><br>
<textarea id="SB_Varoants" cols="30" rows="3" maxlength="500" placeholder="Напишите варианты"></textarea><br>
<input type="button" value="Отправить" onclick="SB_Otpravit();">
<input type="button" value="Отчистить" onclick="SB_ClearOtvet();"><br>
<a>Результаты:</a><br>
<textarea id="SB_Otvet" cols="30" rows="3" maxlength="500" placeholder="Ответы"></textarea><br>
</div>
<a href="#" id="SB_BntOpros" onclick="obj=document.getElementById('SB_Opros'); if(obj.style.display=='none') obj.style.display='block'; else obj.style.display='none'; return false;" style="display:none;">
<img src="img/chatvnutri/btn_opros.gif" border="0" alt="Опрос"></a>
<script>
if(SBOprosSucc[mynick]) {
SBBntOprosObj=document.getElementById("SB_BntOpros");
SBBntOprosObj.style.display="block";
}
</script>

скрипты в чате

/* [НАСТРОЙКИ] */

...

/* НАСТРОЙКИ - ФУНКЦИЯ ОПРОСА */
/* комму доступ к фунциям опрос */
var SBOprosSucc = new Array();
SBOprosSucc['Ник1']=1;
SBOprosSucc['Ник2']=1;

/* параметры цвета для сообщении */
var SBMsgColor = "#4B0082"; // для сообщении
var SBMsgBackground = "#FFDB8B"; // для фона
var SBMsgBorder = "#7851A9"; // для рамки

...

/* [Функции - общие] */

...

/* ФУНКЦИЯ ОПРОСА */
function SB_GeneratorWordRandom() { // генерирует случайные символы для того чтоб при каждой сообщении не совпадало выбор ответа
var SB_AWord = new Array("0","1","2","3","4","5","6","7","8","9",
"A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z",
"a","b","c","d","t","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z");
var SB_StrWord = new String("");
var SB_RndWord = Math.floor(Math.random() * SB_AWord.length) + 6;;
for(var i=0;i<SB_RndWord;i++) {
SB_Rnd = Math.floor(Math.random() * SB_AWord.length);
SB_StrWord+=SB_AWord[SB_Rnd];
}
return SB_StrWord;
}
function SB_Otpravit() {
var SBRndNameStr = SB_GeneratorWordRandom();
var VoprosObj = document.getElementById("SB_Vopros");
var SBVoprosStr = VoprosObj.value;
var SBVaroantsStr = document.getElementById("SB_Varoants").value.split("\n");
var SBOut = '<p style="background-color: '+SBMsgBackground+'; border: '+SBMsgBorder+' solid 2px; color: '+SBMsgColor+'; border-radius: 10px; text-align: center">';
SBOut +='Опрос: '+SBVoprosStr+'<br>Выберите ответ: ';
for (var i = 0, ln = SBVaroantsStr.length; i < ln; ++i) {
SBOut +='<input type="radio" name="'+SBRndNameStr+'" onclick="SB_ClickOtvet('+String(i+1)+');"> '+SBVaroantsStr[i]+' ';
}
SBOut +='</p>';
SBSoundMsgPlay(13); // звук
myhistory+=SBOut; // сохраняем в историю сообщений
wr(SBOut); // вывод сообщений
}
function SB_ClearOtvet() { // отчистить поле результата
var SBClearObj=document.getElementById('SB_Otvet');
SBClearObj.value='';
}
function SB_ClickOtvet(SB_Click) { добавить ответ в поле результат
var SBClickObj=document.getElementById('SB_Otvet');
SBClickObj.value+=mynick+' '+SB_Click+'#13';
}

Отредактировано SolidBrate - 12.09.2021
441
Валентин @DjValek
я не понял...
1.вы задаете вопрос и указываете сами варианты ответов?
2. вы сами выбираете правильный ответ пользователей?
3. куда у вас выводит ответы пользователей?
сдесь надо создавать либо файл с ответами и выводить отдельно под права или под базу
в коде есть ошибки в функциях

Отредактировано DjValek - 17.09.2021
20089
Dimitry @Dimitry
Да, тут много не сходится.

441
Валентин @DjValek
хозяин молчит, значит не надо!

7
Компания @SolidBrate
извините я бываю занят
тут не надо создавать базу...
расскажу все по порядку...
тут вы видите кому я доступ предлагаю...

(в разделе скрипты)

/* комму доступ к фунциям опрос */
var SBOprosSucc = new Array();
SBOprosSucc['Ник1']=1;
SBOprosSucc['Ник2']=1;

иду дальше...
(в разделе чат внутри)

<a href="#" id="SB_BntOpros" onclick="obj=document.getElementById('SB_Opros'); if(obj.style.display=='none') obj.style.display='block'; else obj.style.display='none'; return false;" style="display:none;">
<img src="img/chatvnutri/btn_opros.gif" border="0" alt="Опрос"></a>
<script>
if(SBOprosSucc[mynick]) {
SBBntOprosObj=document.getElementById("SB_BntOpros");
SBBntOprosObj.style.display="block";
}
</script>

рис 1


эта кнопка опрос по умолчанию эта кнопка скрыта от глаз
тут вы видите кому предназначен доступ кнопке опрос...

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

<div id="SB_Opros" style="display:none; background-color: #008800; border: #CC0000 solid 2px; border-radius: 10px; width: 240px; color:#FFFF00; padding: 10px">
<a>Опрос:</a>
<input type=text id="SB_Vopros" cols="32" maxlength="50" value="" placeholder="Напишите вопрос"><br>
<a>Варианты:</a><br>
<textarea id="SB_Varoants" cols="30" rows="3" maxlength="500" placeholder="Напишите варианты"></textarea><br>
<input type="button" value="Отправить" onclick="SB_Otpravit();">
<input type="button" value="Отчистить" onclick="SB_ClearOtvet();"><br>
<a>Результаты:</a><br>
<textarea id="SB_Otvet" cols="30" rows="3" maxlength="500" placeholder="Ответы"></textarea><br>
</div>

вот такая форма получилось

рис 2


смысл в том, что написать вопрос

рис 3


и отправить в чат сообщения

рис 4


чтоб люди ответили на вопрос....
а ответы вы сами видете на рис 3

я все сделал для того чтоб вам было понятно чего я хочу добиться...
я продвинутый программист но еще учусь на JS, CSS, HTML и скоро начну PHP

Отредактировано SolidBrate - 21.09.2021
441
Валентин @DjValek
не будет работать она у вас никогда, таблицы нет в форме, нет файла куда будет сохраняться опрос и выводиться вам! зачем, для чего он, ладно бы в чате человек 20 как минимум было! сделать можно но смысл?