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

По поводу привата...

 

51
Виктор @dreZz
Я бы хотел спросить, я хочу убрать функцию полностью СКАЗАТЬ (см картинку, низ, с лева), и хочу чтобы без этого работала кнопка ПРИВАТ (см картинку, низ, с права), я что-то делал, убирал, но нажимая на кнопку ПРИВАТ, выдаёт сообщение как простое,не приватное...
можно ли так сделать?

2902
serhio @serhio
dreZz пишет:

Я бы хотел спросить, я хочу убрать функцию полностью СКАЗАТЬ (см картинку, низ, с лева), и хочу чтобы без этого работала кнопка ПРИВАТ (см картинку, низ, с права), я что-то делал, убирал, но нажимая на кнопку ПРИВАТ, выдаёт сообщение как простое,не приватное...
можно ли так сделать?

если посмотреть в скриптах на описание основной функции f(room,cmd,nick,tonick,text,time,colornick,color,var9,var10,var11,var12), нетрудно заметить, что в качестве одного из параметров функци выступает значение cmd... это значение как раз и формируется в том селекторе, который ты пытаешься убрать, в виде cmd.value... по умолчанию, то бишь когда выбор в селекторе не осуществлялся, значение cmd.value в форме определяется так - document.write("<option value=''>-=сказать=-"); , то есть неопределенное, и в скриптах демона оно преобразуется в cmd=0 для функции f();... при применении кнопки приват в саму эту кнопку прописывается изменение значения cmd.value=privat, которое потом передается в функцию f(); в виде cmd=1... убирая селектор, ты тем самым убираешь элемент, который формирует значение cmd.value... то есть это значение оказывается неопределенным при отправке формы любой кнопкой - сказать, приват или еще любой другой, которую ты придумаешь... что равноценно подаче в чат обычного неприватного сообщения...
как это обойти?... убирая селектор, нужно добавить элемент, который сформирует начальное значение cmd.value и с которого при отправке формы в чат будет считываться значение этой переменной... это может быть, например, <input type=hidden name=cmd value=''> ... кнопка отправки в приват должна изменять значение этого скрытого поля на нужное...
проверять не проверял, но по логике, вроде, должно работать...

51
Виктор @dreZz
не получилось
или я что-то не допонил

2902
serhio @serhio
dreZz пишет:

не получилось
или я что-то не допонил

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

192
Егор @Егор
Я сделал рядом кнопку <input type=hidden name=cmd class=ok value=Приват> При загрузке чата, она вообще не появляется, а при отправке обычного сообщения, пишет: 21:52:12 • Егор: undefined_МОЙ ТЕКСТ

2902
serhio @serhio
Егор пишет:

Я сделал рядом кнопку <input type=hidden name=cmd class=ok value=Приват> При загрузке чата, она вообще не появляется, а при отправке обычного сообщения, пишет: 21:52:12 • Егор: undefined_МОЙ ТЕКСТ

а ты хоть сам понимаешь, что за кнопку ты сделал?... попробуй найти в инете описание сей "кнопки"... в любом справочнике по html будет написано про тип кнопки type=hidden... и очень хотелось бы понять, почему ей придано имя name=cmd, которое уже использовано в нижнем фрейме для селектора выбора действия... и что будет делать сервер чатов с твоими сообщениями, если этой кнопкой передается постоянно значение cmd=Приват... мой совет тебе, убери свою кнопку как можно быстрее, а через поиск форума найди то, как правильно нужно задать эту кнопку...

192
Егор @Егор
Спасибо) Будем учить HTML)

6703
Андрей @ZloVeЩиЙ
серхио, спасибо пригодилось, твой вариант что ни-на есть робочый...
тоже долго мучался, понимал что проблема именно в cmd, но как её, прописать так и не додумался!

458
ridz @ridz
замена селектора на кнопки: обьясняловка)))
находим в нижнем фрейме чата
<script>
document.write("<input type=hidden name=nick value="+parent.mynick+">");
document.write("<input type=hidden name=id value="+parent.myid+">");

document.write("<select name=cmd class=text>");
document.write("<option value=''>-=cказать=-");
document.write("<option value='/privat '>приватно");
document.write("<option value='/privat2 '>приват окно");
document.write("<option value='/me '>сообщение");
document.write("<option value='/call '>вызвать");
if(parent.alerter[parent.mynick]) document.write("<option value='/alert '>алерт-вызов");
if(parent.clearer[parent.mynick]) document.write("<option value='/clear '>очистить");
if(parent.reloader[parent.mynick]) document.write("<option value='/reload '>перезагрузить");
if(parent.admin==1) {
document.write("<option value=''>-=модерация=-");
document.write("<option value='/kill '>удалить");
document.write("<option value='/kick '>выпнуть");
document.write("<option value='/windows '>закидать окнами");
document.write("<option value='/warn '>предупредить");
}
document.write("</select>");
</script>

и меняем на
<input type=hidden name=cmd value=''>
<script>
document.write("<input type=hidden name=nick value="+parent.mynick+">");
document.write("<input type=hidden name=id value="+parent.myid+">");
</script>
<input class=ok type="submit" onclick="cmd.value='/privat '; "value="Приват" title="Отправить в приват" >
<input class=ok type="submit" onclick="cmd.value=''; "value="Сказать" title="Сказать" >

6703
Андрей @ZloVeЩиЙ
Тут вот какая проблема возникла, когда убрал, селекторы и поставил скртые поля - вариант, ridza(а)
Начало отправлять в приват независимо от того жму я в приват или в общак, как я понял из его слов надо перестаивть местами input class=ok type="submit" так как "ENTER" реагирует на то что стоит ближе к фрейму, но для того что бі поменять их местами прийдется перерисовівать весь фрейм...
Можно ли как то избежать этого *?
Прикрепил скрин

458
ridz @ridz
для ZloVeЩиЙ кнопки добавить id
<input id="cba" class=ok type="submit" onclick="cmd.value='/privat '; "value="Приват" title="Отправить в приват" >
<input id="abc" class=ok type="submit" onclick="cmd.value=''; "value="Сказать" title="Сказать" >

скрипт в head
<script type="text/javascript">
document.onkeydown=function(e){
if (e) event=e
if ((event.keyCode==13)&&(event.ctrlKey)){
document.getElementById('cba').click();
}
if ((event.keyCode==13)&&(!event.ctrlKey)){
document.getElementById('abc').focus();
}}
</script>

ENTER - отправка сообщений в общий лог
ctrl+Enter в приват
Проверено в Opera, Mozilla Firefox,Google Chrome,Internet Explorer

588
КоЛеСо @КоЛеСо
ridz пишет:

для ZloVeЩиЙ кнопки добавить id
<input id="cba" class=ok type="submit" onclick="cmd.value='/privat '; "value="Приват" title="Отправить в приват" >
<input id="abc" class=ok type="submit" onclick="cmd.value=''; "value="Сказать" title="Сказать" >

скрипт в head
<script type="text/javascript">
document.onkeydown=function(e){
if (e) event=e
if ((event.keyCode==13)&&(event.ctrlKey)){
document.getElementById('cba').click();
}
if ((event.keyCode==13)&&(!event.ctrlKey)){
document.getElementById('abc').focus();
}}
</script>

ENTER - отправка сообщений в общий лог
ctrl+Enter в приват
Проверено в Opera, Mozilla Firefox,Google Chrome,Internet Explorer

никуя! теперь при нажатии на ентер сообщение отправляется в приват, а при нажатии кантрл+ентер вапще не отправляется...

458
ridz @ridz
КоЛеСо пишет:

ridz пишет:

для ZloVeЩиЙ кнопки добавить id
<input id="cba" class=ok type="submit" onclick="cmd.value='/privat '; "value="Приват" title="Отправить в приват" >
<input id="abc" class=ok type="submit" onclick="cmd.value=''; "value="Сказать" title="Сказать" >

скрипт в head
<script type="text/javascript">
document.onkeydown=function(e){
if (e) event=e
if ((event.keyCode==13)&&(event.ctrlKey)){
document.getElementById('cba').click();
}
if ((event.keyCode==13)&&(!event.ctrlKey)){
document.getElementById('abc').focus();
}}
</script>

ENTER - отправка сообщений в общий лог
ctrl+Enter в приват
Проверено в Opera, Mozilla Firefox,Google Chrome,Internet Explorer

никуя! теперь при нажатии на ентер сообщение отправляется в приват, а при нажатии кантрл+ентер вапще не отправляется...

Это вариант когда кнопка приват стоит впереди кнопки сказать!!!! и у кого убран селектор

Отредактировано ridz - 09.05.2009
6703
Андрей @ZloVeЩиЙ
Ридз, отличное решение, но есть лишь одно маленькое но, когда поле с ником пустое, все равно отправка в приват осуществляется, не посредственно в "никуда", можно ли исправить, если поле ника пустое - кнтр+ентер не работает\не отправляет, в другом случае все отправка осуществляется ?

458
ridz @ridz
ZloVeЩиЙ пишет:

Ридз, отличное решение, но есть лишь одно маленькое но, когда поле с ником пустое, все равно отправка в приват осуществляется, не посредственно в "никуда", можно ли исправить, если поле ника пустое - кнтр+ентер не работает\не отправляет, в другом случае все отправка осуществляется ?

запрет отправки если поле ника пустое и ентром и кнтр+ентер
<script type="text/javascript">
document.onkeydown=function(e){
if (e) event=e
if ((event.keyCode==13)&& (document.fmsg.tonick.value==""))return false;
if ((event.keyCode==13)&&(event.ctrlKey)){
document.getElementById('cba').click();}
if ((event.keyCode==13)&&(!event.ctrlKey)){
document.getElementById('abc').focus();}
}
</script>

запрет отравки только кнтр+ентер при наличии пустого поля ника
<script type="text/javascript">
document.onkeydown=function(e){
if (e) event=e
if ((event.keyCode==13)&& (document.fmsg.tonick.value=="")&&(event.ctrlKey))return false;
if ((event.keyCode==13)&&(event.ctrlKey)){
document.getElementById('cba').click();}
if ((event.keyCode==13)&&(!event.ctrlKey)){
document.getElementById('abc').focus();}
}
</script>

и для полноты запрет отравки только кнтр+ентер +отключение кнопки приват если в поле ника ничего нет
<script type="text/javascript">
document.onkeydown=function(e){
if (e) event=e
if (document.fmsg.tonick.value=="") {document.getElementById('cba').disabled = true;} else {document.getElementById('cba').disabled = false;}
if ((event.keyCode==13)&& (document.fmsg.tonick.value=="")&&(event.ctrlKey))return false;
if ((event.keyCode==13)&&(event.ctrlKey)){
document.getElementById('cba').click();}
if ((event.keyCode==13)&&(!event.ctrlKey)){
document.getElementById('abc').focus();}
}
</script>

тут желательно добавить параметр disabled в кнопку привата
<input id="cba" class=ok type="submit" onclick="cmd.value='/privat '; "value="Приват" title="Отправить в приват" disabled="disabled" >

Отредактировано ridz - 14.05.2009
2536
удалён @crigon
ridz, о наконец-то кто-то разбирающийся в js появился) спс
только в html disabled="disabled" пишется.

1
Евочка @Евочка
Столько тем про приват окно, создавать новую с таким же названием подумала не нужно. Если я была не права, простите ) Подскажите пожалуйста, возможно ли сделать, чтоб при желании написать в отдельное приватное окно, не выскакивало сразу окно, а было сначала типа приглашения или разрешения (например: Ник хочет пригласить Вас в приват. Ок?) где нажав на "Ок" попадаешь в приватное окно. И конечно, что б это было видно только тому, кого хотят пригласить в приват. Помогите сделать, заранее благодарна.

Отредактировано Евочка - 27.05.2009
135
заблокирован @yoda23
Евочка пишет:

Столько тем про приват окно, создавать новую с таким же названием подумала не нужно. Если я была не права, простите ) Подскажите пожалуйста, возможно ли сделать, чтоб при желании написать в отдельное приватное окно, не выскакивало сразу окно, а было сначала типа приглашения или разрешения (например: Ник хочет пригласить Вас в приват. Ок?) где нажав на "Ок" попадаешь в приватное окно. И конечно, что б это было видно только тому, кого хотят пригласить в приват. Помогите сделать, заранее благодарна.

Это надо на js писать если только скриптеры тут нахаляву напишут когда нить хотя это вряд ли

2615
Сергей @Pegass
yoda23, убейся, давно написано и входит в стандартный функционал - хватит поднимать древние темы