Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Интернет » В помощь вебмастеру » Диалоговое окно на JavaScript

Модерирует : Cheery

 Версия для печати • ПодписатьсяДобавить в закладки

Открыть новую тему     Написать ответ в эту тему

Hibin

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Скажите пожалуйста, можно-ли создать диалоговое окно с помощью JavaScript наподобие "Да" - "Нет", но с пятью вариантами ответа?

Всего записей: 270 | Зарегистр. 07-04-2003 | Отправлено: 19:14 17-04-2003
Cheery



.:МордератоР:.
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Hibin
Боюсь, что никак. Так что делай с помощью HTML.. или Java и так далее..
Но(!!).. возможно оригинальное решение с помощью слоев.

----------
Away/DND

Всего записей: 52737 | Зарегистр. 04-04-2002 | Отправлено: 22:14 17-04-2003
Hibin

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Расскажи плиз поподробнее о слоях, а еще лучше с примером, а то я раньше не пользовал их толком, не умею

Всего записей: 270 | Зарегистр. 07-04-2003 | Отправлено: 00:34 18-04-2003
Svarga

Moderator
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Hibin

Цитата:
Расскажи плиз поподробнее о слоях, а еще лучше с примером, а то я раньше не пользовал их толком, не умею

Распиши подробнее, что именно нужно (когда такое "окно" должно появляться, какие варианты ответов и что должно происходить при выборе определённых ответов)-- может и придумаем что-нибудь %)

----------
away.

Всего записей: 4161 | Зарегистр. 25-06-2002 | Отправлено: 04:30 18-04-2003
Hibin

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Появляться оно должно при нажатии на кнопку.
Варианты ответов условно: 1, 2, 3, 4 и "Отменить"
При выборе 1 - 4 значение должно передаваться скрипту, при отмене... отменяться

Всего записей: 270 | Зарегистр. 07-04-2003 | Отправлено: 07:37 18-04-2003
Svarga

Moderator
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Hibin
Посмотри на такое чудо (само собой стили ещё до ума доводить и доводить, чтоб на диалоговое окно похоже было + работает пока только в DOM1-браузерах, но для Оперы 6 и Нетскапы 4х не долго доделать, если надо):

Код:
<html><head>
<script>
var t=false
 
function hideAlert(){if (t) {document.getElementById('alerT').style.visibility="hidden"}}
function showAlert(){if (t) {document.getElementById('alerT').style.visibility="visible";document.getElementById('def').focus()}}
 
function action(num)
{
hideAlert()
switch(num)
{
case 1:
alert('action#1')
break;
case 2:
alert('action#2')
break;
case 3:
alert('action#3')
break;
case 4:
alert('action#4')
break;
default:
break;
}
 
}
</script>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<style type="text/css">
<!--
input,.x{font-family:Helvetica,sans-serif,Arial;font-size:9pt;color:black;border:1px solid black;border-top-color:white;border-left-color:white;margin-bottom:8px}
.x{width:14px;height:14px;overflow:hidden;padding:0px;margin:0px;font-family:mono,Courier;font-size:12px;line-height:12px;background-color:#c8d8e0;text-align:center;vertical-align:middle;cursor:default}
#alerT{text-align:center;position:absolute;margin:auto;width:500px;visibility:hidden;overflow: visible;background-color:#c8d8e0;border:2px solid #404040;border-top-color:#e0ecf0;border-left-color:#e0ecf0}
html,td,div{font-family:Helvetica,sans-serif,Arial}
.c{font-weight:bold;font-size:13px;color:white}
-->
</style>
</head>
 
<body id=q>
<script>if (window.innerWidth){var w=window.innerWidth;var h=window.innerHeight} else if (document.all){var w=document.all('q').clientWidth;var h=document.all('q').clientHeight}
w=w/2-250
h=h/2-30
if ((document.getElementById('q').style)&&(w)) {t=true}
if (t){document.write('<div id=alerT style=\"left: '+w+'px;top: '+h+'px\" align=center><table bgcolor=#1a5084 width=495 height=15 border=0 cellpadding=0 cellspacing=0><tr><td class=c>&nbsp; Вопросик есть</td><td width=15 height=15><div onClick=action(5) class=x>x</div></td></tr></table><table width=450 border=0  cellpadding=0 cellspacing=0><td width=100 align=center><!-- cие заменить на картинку от confirm --><font size=6><b>?</b><!--/--></font></td><td align=center valign=middle style="font-size:9pt"><br>Вы действительно думаете, что оно вам всё такое неизвестно для чего надо?<br><br></td></tr></table><nobr><input type=button onClick="action(1)" value="Не знаю (1)" id=def> <input type=button onClick="action(2)" value="Да (2)"> <input type=button onClick="action(3)" value="Нет (3)"> <input type=button onClick="action(4)" value="Конечно (4)"> <input type=button onClick="action(5)" value="Отмена"></nobr></div>')}</script>
 
<!-- а тут всё содержимое страницы, очень интересное и красивое -->
<p style="margin-left:30px"><a href=javascript:showAlert()>Linux is like a wigwam</a>-- no gates - no windows - and an apache inside<br>
Нет вечных двигателей.Есть вечные тормоза<br>
Пришёл день Х,наступило время Ч и полная Ж...<br>
Хватит ерундой болтать!<br>
Живём один раз-<a href=javascript:showAlert()>чтобы больше не хотелось!</a><br>
Да здравствует то, благодаря чему мы - несмотря ни на что!  <br>
Я не злопамятный человек,отомщу и забуду!<br>
<a href=javascript:showAlert()>Abort, Retry, Ignore = Нафиг, Нефиг, Пофиг.</a><br>
Одна голова хорошо, а с туловищем лучше<br>
Если вас съели, то у вас, только два выхода...<br>
С возрастом мы делаем меньше глупостей - возможности уже не те...<br>
Баба с возу - кобыла в курсе дела<br>
Все, что есть хорошего в жизни, либо незаконно, либо аморально, либо ведет к ожирению.<br>
Убей бобра спаси дерево!


----------
away.

Всего записей: 4161 | Зарегистр. 25-06-2002 | Отправлено: 04:55 19-04-2003
Hibin

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Спасибо, как раз то что нужно

Всего записей: 270 | Зарегистр. 07-04-2003 | Отправлено: 09:16 19-04-2003
Svarga

Moderator
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Hibin

Цитата:
Спасибо, как раз то что нужно

Я рад
Нужно подгонять под 4-е Нетскейпы и иже с ними?

----------
away.

Всего записей: 4161 | Зарегистр. 25-06-2002 | Отправлено: 10:02 19-04-2003
Hibin

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Пожалуй да. Намного-ли это увеличит код?

Всего записей: 270 | Зарегистр. 07-04-2003 | Отправлено: 12:06 20-04-2003
Svarga

Moderator
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Hibin

Цитата:
Пожалуй да. Намного-ли это увеличит код?

пока не знаю
напишу-- будет видно.

----------
away.

Всего записей: 4161 | Зарегистр. 25-06-2002 | Отправлено: 04:24 21-04-2003
Svarga

Moderator
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Hibin
Посмотри:

Код:
<html><head>
<script>
var N
var a=''
if (document.layers) {N=true} else {N=false}
var knopkas=new Array('Да (1)','Нет (2)','Не знаю (3)','Не гони (4)','Вс\якое бывает (5)')
for (var i=0;i<5;i++){
if (N) {a += '<a href="javascript:ACT('+(i+1)+')">'+knopkas[i]+'</a>&nbsp;'}
else {a += '<input type=button onClick="ACT('+(i+1)+')" value="'+knopkas[i]+'"> '}}
a='<nobr>'+a+'</nobr><br><i class=n>&nbsp;</i>'
function getL(ID)
{
if(document.getElementById) return document.getElementById(ID).style
if(document.all) return document.all[ID].style
if(document.layers) {return document.layers[ID]}
return null
}
 
function HIDE(){if (w) {getL('alerT').visibility=N?"hide":"hidden"}}
function SHOW(){if (w) {getL('alerT').visibility=N?"show":"visible"}}
 
function ACT(num)
{
HIDE()
if (num==1) alert('ACT#1')
if (num==2) alert('ACT#2')
if (num==3) alert('ACT#3')
if (num==4) alert('ACT#4')
}
 
 
</script>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<style type="text/css">
<!--
input,.x{font-size:9pt;color:black;border:1px solid black;border-top-color:white;border-left-color:white;text-decoration:none}
.n{font-size:5px}
.x{width:14px;height:14px;overflow:hidden;padding:0px;margin:0px;font-family:mono,Courier;font-size:12px;line-height:12px;background-color:#c8d8e0;text-align:center;vertical-align:middle;cursor:default}
#alerT{position:absolute;visibility:hidden;text-align:center;margin:auto;width:500px;overflow: visible;background-color:#c8d8e0;border:2px solid #404040;border-top-color:#e0ecf0;border-left-color:#e0ecf0}
html,td,div{font-family:Helvetica,sans-serif,Arial}
.c{font-weight:bold;font-size:13px;color:white}
-->
</style>
</head>
 
<body><p style="margin-left:30px">
 
<!--здесь содержимое страницы-->
<a href="javascript:SHOW()">Linux is like a wigwam</a>
<!--/-->
 
<!--здесь скрипт вывода слоя:-->
<script>if (window.innerWidth){var w=window.innerWidth;var h=window.innerHeight} else if (document.body.clientWidth){var w=document.body.clientWidth;var h=document.body.clientHeight}
if (w){document.write('<div style=\"left: '+(w/2-250)+'px;top: '+(h/2-30)+'px\" align=center id=alerT name=alerT><table bgcolor=#1a5084 width=495 height=15 border=0 cellpadding=0 cellspacing=0><tr><td class=c>&nbsp; Вопросик есть</td><td width=15 height=15><div onClick=ACT(5) class=x>x</div></td></tr></table><table width=450 border=0  cellpadding=0 cellspacing=0><td width=100 align=center><!-- cие заменить на картинку от confirm --><font size=6><b>?</b><!--/--></font></td><td align=center valign=middle style="font-size:9pt"><br>Вы действительно думаете, что оно вам всё такое неизвестно дл\я чего надо?<br><br></td></tr></table>'+a+'</div>')}</script>
 
<!-- для гарантии, что все скрипты загрузятся можно просто их вынести в два отдельных файла и устроить в head'е предзагрузку  -->

 
С глюками Нетскейпа долго не хотелось возиться-- в нём вместо кнопок выводятся просто слова со ссылками. Вообщем проверял в Операх 5.1-7.1, Нетскейп 4, MSIE 5, Mozilla 1.0-- в этом всём работает. Однозначно не будет работать в 3х браузерах. Возможны глюки в 4-м ИЕ.

----------
away.

Всего записей: 4161 | Зарегистр. 25-06-2002 | Отправлено: 03:11 26-04-2003
Hibin

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Svarga, огромное тебе спасибо!

Всего записей: 270 | Зарегистр. 07-04-2003 | Отправлено: 23:43 28-04-2003
Hibin

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Svarga, помоги плиз еще кое-что сделать.
Есть таблица
Код:
<table>
 <tr>
  <td id=1>Cell #1</td>
  <td id=2>Cell #2</td>
 </tr>
</table>

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

Всего записей: 270 | Зарегистр. 07-04-2003 | Отправлено: 21:38 29-04-2003
Открыть новую тему     Написать ответ в эту тему

Компьютерный форум Ru.Board » Интернет » В помощь вебмастеру » Диалоговое окно на JavaScript


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru