Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 04.09.2013, 16:58
что-то знаю
Отправить личное сообщение для devote Посмотреть профиль Найти все сообщения от devote
 
Регистрация: 24.05.2009
Сообщений: 5,176

alexandr_ftf,
понятно, ну это уже браузер так работает с полем input, можно конечно переделать на textarea например:
<script type="text/javascript">
function multiPrompt(options, callback) {
    var wrapper = document.createElement('div');
    wrapper.style.cssText = 'position: fixed; top: 0; left: 0; width: 100%; height: 100%;';
    wrapper.innerHTML = '<div style="position: fixed; width: 100%; height: 100%; background: #000; opacity: 0.05;' +
        'filter: Alpha(opacity=5);"></div><table style="position: relative; margin: auto; height: 100%;"><tr><td>' +
        '<div style="position: relative; background: #FBFBFB; border: 1px solid #BFBFBF; border-radius: 4px;' +
        'box-shadow: 0 2px 3px rgba(0,0,0,0.6); padding: 10px;"><div></div><div style="padding: 10px 0 0 0;' +
        'float: right;"><button style="border: 1px solid #bfbfbf; width: 80px; margin-left: 10px;height: 25px;' +
        '">Ок</button><button style="border: 1px solid #bfbfbf; width: 80px; margin-left: 10px; height: 25px;' +
        '">Отмена</button></div><div style="clear: both;"></div></div></td></tr></table>';
 
    options = options instanceof Array ? options : [[options]];
    var inputsBox = wrapper.getElementsByTagName('div')[2];
    for(var i = 0; i < options.length; i++) {
        options[i] = options[i] instanceof Array ? options[i] : [options[i]];
        var titleDiv = document.createElement('div');
        titleDiv.innerHTML = typeof options[i][0] === 'undefined' ? '&nbsp;' : options[i][0];
        inputsBox.appendChild(titleDiv);
        var input = document.createElement('textarea');
        input.style.cssText = 'min-width:300px;width:100%;height:21px;resize:none;padding: 0px;' +
            'white-space:nowrap;overflow:hidden;padding:0;font-size:14px;font-family:Arial;';
        input.value = typeof options[i][1] === 'undefined' ? '' : options[i][1];
        input.onkeydown = function(e) {
            e = e || window.event;
            if (e.keyCode == 13) {
                if (e.preventDefault) {
                    e.preventDefault();
                } else {
                    e.returnValue = false;
                }
            }
        }
        inputsBox.appendChild(input);
    }
    var buttons = wrapper.getElementsByTagName('button');
    var cancel = function(e) {
        e = e || window.event;
        if (e.type == 'keydown') {
            if (e.keyCode !== 27) {
                return;
            }
        }
        if (document.removeEventListener) {
            document.removeEventListener('keydown', cancel);
        } else {
            document.detachEvent('onkeydown', cancel);
        }
        wrapper.parentNode.removeChild(wrapper);
    }
    buttons[0].onclick = function() {
        var inputs = wrapper.getElementsByTagName('textarea');
        var results = [];
        for(var i = 0; i < inputs.length; i++) {
            results[results.length] = inputs[i].value;
        }
        cancel({});
        callback && callback(results);
    }
    buttons[1].onclick = cancel;
    if (document.addEventListener) {
        document.addEventListener('keydown', cancel);
    } else {
        document.attachEvent('onkeydown', cancel);
    }
 
    document.body.appendChild(wrapper);
}
</script>
<button onclick="multiPrompt(['Имя', 'Фамилия', 'Отчество'], function(a){alert(a)})">Показать окно 1</button>
 
<button onclick="multiPrompt([['Имя', 'Иван'], ['Фамилия', 'Иванов'], ['Отчество', 'Иванович']], function(a){alert(a)})">Показать окно 2</button>
 
<button onclick="multiPrompt('Введите число', function(a){alert(a)})">Показать окно 3</button>
__________________
хм Russians say завтра but завтра doesn't mean "tomorrow" it just means "not today."
HTML5 history API рассширение для браузеров не поддерживающих pushState, replaceState
QSA CSS3 Selector Engine

Последний раз редактировалось devote, 04.09.2013 в 17:11.
Ответить с цитированием
  #12 (permalink)  
Старый 04.09.2013, 17:10
Интересующийся
Отправить личное сообщение для alexandr_ftf Посмотреть профиль Найти все сообщения от alexandr_ftf
 
Регистрация: 02.09.2013
Сообщений: 11

Вопрос решился просто заменой input на textarea
Ответить с цитированием
  #13 (permalink)  
Старый 04.09.2013, 17:11
Интересующийся
Отправить личное сообщение для alexandr_ftf Посмотреть профиль Найти все сообщения от alexandr_ftf
 
Регистрация: 02.09.2013
Сообщений: 11

Да, спасибо
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
cookies js без сервера? Влад31/08/2000 Серверные языки и технологии 1 31.08.2012 12:05
"success" и "failure" приём данных с сервера ??? potkin ExtJS 8 30.05.2012 09:27
Загрузка изображения в Объект без сервера. xaknik Элементы интерфейса 1 24.02.2012 14:10
Как вы передаёте в js переменные с сервера без ajax? akostrikov Серверные языки и технологии 1 09.10.2011 21:45
Как получить рисунок с сервера без сохранения в файле maruany AJAX и COMET 1 17.06.2010 10:15