ФорумПрограммированиеJavaScript → диалоговое окно при нажатии на кнопку

диалоговое окно при нажатии на кнопку

  • sbury

    Сообщения: 9 Репутация: N Группа: Кто попало

    Spritz 1 февраля 2011 г. 17:19

    Добрый день
    помогите с такой проблемой. Есть:
    <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
    Помогите пожалуйста с решением данной задачи.
    Спасибо
  • TRIAL

    Сообщения: 988 Репутация: N Группа: Джедаи

    Spritz 1 февраля 2011 г. 17:27, спустя 8 минут 24 секунды

    Уже минут 5 читаю и не понимаю что вобще должно в итоге получится. Какое название спрашивается в сплывающем текстовом поле, какую строку надо получить на нажатии далее?
    ИМХО тебе поможет скрытый изначально div и несложные манипуляции с жуквери.
    from TRIAL with LOVE
  • fgets

    Сообщения: 1099 Репутация: N Группа: Кто попало
  • Lirck

    Сообщения: 1658 Репутация: N Группа: Джедаи

    Spritz 1 февраля 2011 г. 18:14, спустя 33 минуты 51 секунду

    var name = prompt("Enter name", "");
  • sbury

    Сообщения: 9 Репутация: N Группа: Кто попало

    Spritz 2 февраля 2011 г. 11:59, спустя 17 часов 45 минут 23 секунды

    Натолкнулся на вроде как простую ерунду но разобраться не могу.
    При нажатии на любую кнопку по идея я должен увидеть состояние 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>
  • NRG

    Сообщения: 4761 Репутация: N Группа: в ухо

    Spritz 2 февраля 2011 г. 12:37, спустя 38 минут 7 секунд

    sbury, не страдай хуйней, тебе фгетз дал нужную ссылку
  • sbury

    Сообщения: 9 Репутация: N Группа: Кто попало

    Spritz 2 февраля 2011 г. 12:55, спустя 17 минут 7 секунд

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

    немного разобрался оказывается так нельзя, работает так:

    <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 появляется, но если список большой он появляется в начале страницы, и если я в конце списка его не видно. Как заставить его выползать на той части страницы где я сейчас нахожусь. Ну или на крайняк подняться к нему?
    и как разместить в нем несколько элементов input и один select?
  • TRIAL

    Сообщения: 988 Репутация: N Группа: Джедаи

    Spritz 2 февраля 2011 г. 13:08, спустя 13 минут 37 секунд

    Ты не знаешь как в див засунуть инпут и селект???
    Чтоб он отображался в нужном месте поиграйся с position. Или чтоб на верх переместится юзай что-то типа <a href=#top>
    from TRIAL with LOVE
  • NRG

    Сообщения: 4761 Репутация: N Группа: в ухо

    Spritz 2 февраля 2011 г. 13:23, спустя 14 минут 56 секунд


    да оно мне не подходит. Мне нужно что-то типа формы заказа, у которой несколько полей ввода и кнопка подтверждения. После чего эти данные будут заносится в базу.
    помоему, это как раз то , что тебе нужно
  • sbury

    Сообщения: 9 Репутация: N Группа: Кто попало

    Spritz 2 февраля 2011 г. 14:38, спустя 1 час 14 минут 42 секунды

    ура! вроде все получилось осталась одна проблема , не могу заставить его отображаться в центре окна, когда страница очень длинная. У меня получается только в центре в верху страницу. Подскажите как в центре в любом месте страницы, но не умею я.. не получается :(
    Может вы как лучше хотите, но мне бы с этим разобраться
    вот то что у меня получилось и работает:

    function ff(z)
    {
    var div = document.createElement("div");
    var bod=document.getElementsByTagName('body')[0];
    bod.appendChild(div);
    div.id='zakaz';

    div.style.position= 'absolute';
    div.style.overflow= 'none';
    div.style.width= '400px';
    div.style.height= '300px';
    div.style.left= '50%';
    div.style.top= '50%';
    div.style.border= '1px solid gray';
    div.style.background= 'white';
    div.style.display= 'block';

    var req=new JsHttpRequest();
    req.onreadystatechange=function(){
    if(req.readyState==4)
    document.getElementById("zakaz").innerHTML=req.responseText;
    }
    req.open(null,"/parts/select2.php",true);
    req.send({id:z});
    }


    вот однотипные кнопочки, по которым вызывается js:

    td(no(), input(type("submit").id($f["id"]).value("Заказать").onclick("ff(this.id);")


  • Абырвалг

    Сообщения: 6480 Репутация: N Группа: Джедаи

    Spritz 2 февраля 2011 г. 15:06, спустя 27 минут 45 секунд

    div.style.position= 'absolute';

    попробуй fixed
  • sbury

    Сообщения: 9 Репутация: N Группа: Кто попало

    Spritz 2 февраля 2011 г. 15:13, спустя 7 минут 36 секунд

    спасибо тебе добрый человек! все получилось!

Пожалуйста, авторизуйтесь, чтобы написать комментарий!