Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Web программирование > JavaScript, Ajax
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 01.02.2011, 17:06   #1
sbury
 
Регистрация: 19.05.2009
Сообщений: 5
По умолчанию диалоговое окно при нажатии на кнопку

помогите с такой проблемой. Есть:
<script>
function f(z)
{
????
}
</script>
<input type='button' id='id_1' value='Go' onclick='f(this)'>
<input type='button' id='id_2' value='Go' onclick='f(this)'>
<input type='button' id='id_3' value='Go' onclick='f(this)'>

Надо что-бы при нажатии на кнопку выплывало диалоговое окно (наверно в виде элемента div, хотя может я не прав), в котором в текстовом поле спрашивается название предмета и по нажатию там кнопки 'Далее ' (в этом div) эту текстовую строку как-то забрать.
То есть, в этом сплывающем окне есть два элемента input type=text и input type=button
Подскажите пожалуйста с решением данной задачи
sbury вне форума Ответить с цитированием
Старый 01.02.2011, 17:59   #2
nec117
Форумчанин
 
Регистрация: 01.10.2008
Сообщений: 266
По умолчанию

Для вашей задачи идеально подходит jQuery UI, позволяющий создавать окна и заполнять их необходимой информацией, а при помощи jQuery'вский $.get или $.post запросов вы сможете передавать информацию из окна дальше на скрипты обработчики.
nec117 вне форума Ответить с цитированием
Старый 02.02.2011, 10:57   #3
sbury
 
Регистрация: 19.05.2009
Сообщений: 5
По умолчанию

та я с javascript разобраться не могу, мне еще это. Может можно все таки организовать форму заказа на js?
sbury вне форума Ответить с цитированием
Старый 02.02.2011, 11:03   #4
nec117
Форумчанин
 
Регистрация: 01.10.2008
Сообщений: 266
По умолчанию

Можно, но тогда придется писать много и сложно, проще использовать jQuery UI тем более, что он интуитивно понятен и очень простой, а в интернете куча мануалов. jQuery - это фрэймворк для JavaScript.
nec117 вне форума Ответить с цитированием
Старый 02.02.2011, 11:41   #5
sbury
 
Регистрация: 19.05.2009
Сообщений: 5
По умолчанию

Ладно, сейчас у меня проблема на ровном месте
При нажатии на любую кнопку по идея я должен увидеть состояние div (style.display). alert то сам выскакивает, но ничего не выводит - по идее я должен увидеть 'none'. Подскажите, что не так:
Код:
<html>
<head>
<title>Task test</title>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<style type="text/css">
<!--
#box {
   position: absolute;
   overflow: auto;
   width: 300px;
   height: 200px;
   left: 50%;
   top: 50%;
   margin-left: -150px;
   margin-top: -100px;
   background: #C0DCC0;
   display: none;
   padding:5px;
}
-->
</style>
<script language="JavaScript" type="text/javascript">
<!--
function f(value)
{
 var s = document.getElementById('box').style.display;
 alert(s);
}
</script>
</head>
<body>
<div id='box'></div>
<input type='button' id='id_1' value='Go' onclick='f(this.id)'>
<input type='button' id='id_2' value='Go' onclick='f(this.id)'>
<input type='button' id='id_3' value='Go' onclick='f(this.id)'>
</body>
</html>
немного разобрался оказывается так нельзя, работает так:
Код:
<script language="JavaScript" type="text/javascript">
function f(value)
{ 
    if(document.getElementById('anket').style.display=="none") {
        document.getElementById('anket').style.display="inline";
    }else{
        document.getElementById('anket').style.display="none";
    }
}
</script>
Теперь div появляется, но если список большой он появляется в начале страницы, и если я в конце списка его не видно. Как заставить его выползать на той части страницы где я сейчас нахожусь. Ну или на крайняк подняться к нему?

Последний раз редактировалось sbury; 02.02.2011 в 12:49. Причина: изменения
sbury вне форума Ответить с цитированием
Старый 02.02.2011, 15:31   #6
yury_coder
Пользователь
 
Регистрация: 31.10.2010
Сообщений: 53
По умолчанию

Цитата:
Сообщение от nec117 Посмотреть сообщение
Можно, но тогда придется писать много и сложно
Ничего сложного нет.

Сама ф-ция:
Код HTML:
function f(elem)
{
    if(document.getElementById('anket').style.display=="none") {
        //Используйте block, а не inline
        document.getElementById('anket').style.display="block";
    }else{
        document.getElementById('anket').style.display="none";
    }
    switch(elem.id)
    {
    case 'id_1':
        document.getElementById('anket').innerHTML = 'Нажали кнопку 1';
        break;
    case 'id_2':
        document.getElementById('anket').innerHTML = 'Нажали кнопку 2';
        break;
    //И так далее
    default:
        document.getElementById('anket').innerHTML = 'Нажали ещё что-то';
    }
}
Ещё вопрос, ваше сообщение должно появиться где-то в документе, или поверх всего по центру экрана?

если поверх всего, необходимо задать ему заранее размеры и положение, а так же сделать ему position: fixed, или, если не нравится fixed, то, хотя бы, absolute. То есть, будет віглядеть как-то так:
Код HTML:
<div id="anket" style="display: none; width: 300px; height: 300px; position: fixed; top: 100px; left: 100px;"></div>
Параметры width и height отвечают за ширину и высоту соответственно, а top и left - за расстояние сверху и слева соответственно.
yury_coder вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Уничтожить кнопку при нажатии на неё же. NoName_emaNoN Общие вопросы Delphi 28 22.01.2011 15:42
при нажатии на кнопку Delete vik85 Помощь студентам 0 20.12.2009 20:34
Диалоговое окно при создании файла tae1980 Microsoft Office Excel 5 16.03.2009 21:41
прокрутка при нажатии на кнопку neformat JavaScript, Ajax 0 20.06.2008 20:40
Загрузка файла при нажатии на кнопку Simply-Art Общие вопросы Delphi 15 23.01.2007 14:00