Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 08.02.2017, 09:04
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,121

Сообщение от Vitalik2301
в окошке input я ввожу логин, нажимаю submit, (окошко очистилось) и затем в этом же окошке , ввожу пароль и получаю результат
Не совсем понятна такая надобность...
Почему нельзя вводить сразу два поля логин и пароль?
Куда и зачем ты отправляешь логин? Если вся проверка у тебя на клиенте...
Ответить с цитированием
  #12 (permalink)  
Старый 08.02.2017, 17:36
Новичок на форуме
Отправить личное сообщение для Vitalik2301 Посмотреть профиль Найти все сообщения от Vitalik2301
 
Регистрация: 06.10.2015
Сообщений: 8

Знаешь, критика конечно нужна, но "зачем" , "почему" не решит проблему.
Я и сам знаю что лучше пароли хранить на сервере, но, поставлена задача с такими условиями и её надо решить.
"Одно окно и две кнопки"
И даже не имеет значения ради чего или для кого применения.
Поделюсь, не секрет, я пишу логику для виртуального кассового аппарата, оболочку, интерфейс я уже сделал.
Пока что я делаю первые наброски, разбивая один большой скрипт по модулям, я столкнулся с такой проблемой, могу ли я её решить силами Javascript, это я и хочу узнать здесь.
Весь проект свой я не буду выкладывать здесь.
Я расписал свою проблему максимально доступно, чтобы понятно было всем.

Последний раз редактировалось Vitalik2301, 08.02.2017 в 17:57.
Ответить с цитированием
  #13 (permalink)  
Старый 08.02.2017, 17:53
Профессор
Отправить личное сообщение для Rise Посмотреть профиль Найти все сообщения от Rise
 
Регистрация: 07.11.2013
Сообщений: 4,662

Vitalik2301, а несколько логинов здесь при чем?
Ответить с цитированием
  #14 (permalink)  
Старый 08.02.2017, 17:55
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Сообщение от Vitalik2301
кассового аппарата
Прощайте деньги

А по сути, то наверное надо понимать, что ввод всего в одно поле возможен только в том случае, если поставлены жесткие ограничения - запрет в качестве ввода в логин и пароль определенных символов, которые будут приняты как разделители ввода. Иначе не получить множества, а вообще такие задачи такими граблями не решают.

Если есть условие ввода множества, то есть пара полей - для логина и пароля, надо еще ввести, жмем кнопку добавить, в форму добавляется еще пара полей для логина и пароля, и т.д. А скрипт обрабатывает элементы массива (пары полей) проверяя в каждом наборе логин и пароль. И пароли с логинами также должны тогда хранится в как массив данных.
Ответить с цитированием
  #15 (permalink)  
Старый 08.02.2017, 18:09
Новичок на форуме
Отправить личное сообщение для Vitalik2301 Посмотреть профиль Найти все сообщения от Vitalik2301
 
Регистрация: 06.10.2015
Сообщений: 8

Логин это просто к примеру я написал, вместо них будут команды которые выполняют отчет, но перед вводом команды будет запрос с условным паролем.
Конечно, было бы здорово где нибудь содрать исходники на языке С, с реальных торговых программ и перевести в Яваскрипт, но , где же такое взять?

Последний раз редактировалось Vitalik2301, 08.02.2017 в 20:15.
Ответить с цитированием
  #16 (permalink)  
Старый 09.02.2017, 09:22
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,121

Сообщение от Vitalik2301
но "зачем" , "почему" не решит проблему
Впоследствии ты может поймешь, что без них не обойтись...
Ответить с цитированием
  #17 (permalink)  
Старый 11.02.2017, 16:29
Аватар для Paguo-86PK
Профессор
Отправить личное сообщение для Paguo-86PK Посмотреть профиль Найти все сообщения от Paguo-86PK
 
Регистрация: 16.09.2009
Сообщений: 253

Бывaли случаи, когда "Логин@мыло.им п4р0л6" удобно было в одном поле иметь для экономии времени (ни tab, ни клик мышкой).
Что-то типа этого:
<body>
<a href='#'>Продукция</a>
<a href='#'>О нас…</a>
<input
    id=Login
    type=text
    placeholder='Логин@почтовый'
    value=''
    onkeyup='
        var s = this.value.replace(/\s+/, "");
        if(s != this.value)
            this.value = s,
            document.getElementById("PassWord").focus();
    ' />
<input
    id=PassWord
    type=password
    placeholder='В4ш_П4р0л6'
    value=''
    onkeyup='
        if(this.value == "")
            document.getElementById("Login").focus();
    ' />
</body>
P.S.: Пример, конечно, тупой.
Но, креативный и использовался (тут я его упростил)…
Ответить с цитированием
  #18 (permalink)  
Старый 14.02.2017, 18:18
Новичок на форуме
Отправить личное сообщение для Vitalik2301 Посмотреть профиль Найти все сообщения от Vitalik2301
 
Регистрация: 06.10.2015
Сообщений: 8

Спасибо конечно что пытаешься мне помочь.
Я почти добился чего хотел, но скрипт как карточный домик, чихнешь и он рассыпется.
Думаю что либо серьёзное решается только через алгоритмы и ООП.

<html>
<head>
<meta http-equiv="Content-Type" content="text/html" charset="windows-1251"/>
<title>344</title>
</head>
<body>
<script type="text/javascript">

	function doCheck() 
 
if(document.shad.txt.value == "101") {
document.getElementById("tim").innerHTML='<font color="green"> Введите пароль ? </font>';
document.shad.txt.value='';
document.getElementsByTagName("input")[0].setAttribute("type", "password");
document.getElementsByTagName("input")[0].setAttribute("id", "xxx");
}
 else if(document.getElementById("xxx").value == "12321"){
document.getElementById("tim").innerHTML='<font color="#54948E"> X ОТЧЕТ  </font>'
document.shad.txt.value='';
document.getElementsByTagName("input")[0].setAttribute("type", "text");
document.getElementsByTagName("input")[0].setAttribute("id", "");
//document.getElementsByTagName("input")[0].setAttribute("name", "txt");
}
else if(document.shad.txt.value == ""){
document.getElementById("tim").innerHTML='<font color="#54948E"> Вы ничего не заполнили  </font>'
}
else {
document.getElementById("tim").innerHTML='<font color="red"> Не правильно !</font>'}
}

function hido(){
document.getElementById("tim").innerHTML=""
document.shad.txt.value='';
document.getElementsByTagName("input")[0].setAttribute("type", "text");
document.getElementById("xxx").value=""
document.getElementsByTagName("input")[0].setAttribute("name", "txt");
}
</script>

<form name="shad">
<p>Т400 (команда)</p>
<input type="text"  name="txt" id="" size="10"/> &nbsp; 
<span id="tim"> </span>
<br />
<p>
<input type="button" value="Проверить" onclick="doCheck()"/>
</p>
<input type="reset"  id="tom" onclick="hido()"/>
</form>
</body>
</html>

Последний раз редактировалось Vitalik2301, 14.02.2017 в 18:26.
Ответить с цитированием
  #19 (permalink)  
Старый 14.02.2017, 20:01
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Vitalik2301,
так что все-таки надо вводить, команды как команда=>значение, или же все таки кучу паролей? Зачем вам геморрой с кучей в одном поле. Можно например так:

<html>
<head>
<style>
.terminal, #command {
    width: 250px;
    height: 100px;
    padding: 15px;
    border: 1px solid #ccc;
    float: left;
}

#terminal {
    width: 200px;
    margin-right: 10px;
}

#command {
    overflow: auto;
}
ul {
    list-style: none;
    margin: 0;
    padding: 0;
}
</style> 
<script>
document.addEventListener("DOMContentLoaded", function() {
    var com = {},
        list = document.querySelector('#command');
    document.querySelector('form').onkeypress = function (e) {
        var o = e.target || e.srcElement, v, u = '', p;
       if(e.keyCode == 13) {
            e.preventDefault();
            if(o.tagName == 'INPUT' && (v = o.value.split(' ')).length==3) {
                o.value = '';
                com[v[0]] =  [v[1], v[2]];
                for(p in com) u += '<li><span>' + p + '</span> <span>' + com[p][0] + '</span> <span>' + com[p][1] + '</span>';
                list.innerHTML = '<ul>' + u + '</ul>';
            }
       }
    }
});
</script> 
</head>
<body>
<div class="terminal">
<form>
    <label>Command Parameter</label>
    <input type="text"  name="txt"/>
</form>
</div>
<div id="command"></div>
</body>
</html>
</body>
</html>


Здесь просто для примера. А суть в том, что контролируется ввод двух параметров разделенных пробелом по нажатию клавиши Enter, и если это условие выполняется, то оно сохраняется в объект. Содержимое объекта выводится списком рядом, и можно по выбору в нем удалить из набранного любую позицию. Естественно при вводе по Enter можно и организовать любую проверку и выполнять заданные действия. А уже готовый набор для отправки можно объединить как душе угодно.

Последний раз редактировалось laimas, 16.02.2017 в 15:39.
Ответить с цитированием
  #20 (permalink)  
Старый 16.02.2017, 13:41
Новичок на форуме
Отправить личное сообщение для Vitalik2301 Посмотреть профиль Найти все сообщения от Vitalik2301
 
Регистрация: 06.10.2015
Сообщений: 8

1) Команда
2) Запрос с подтверждением пароля для этой команды
3) Значение

Спасибо, интересный скрипт, я поработаю над ним.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Хочу написать скрипт для прайса Lisenok Общие вопросы Javascript 2 10.04.2016 10:44
Помогите, пжлста, найти (или написать) скрипт для смены картинок. Artweb Работа 9 25.02.2011 11:28
Как изменить скрипт, что бы им его можно было использовать для нужной страницы Nick50_70 Общие вопросы Javascript 0 28.04.2009 23:30
Разным элементам input - разное форматирование. Как? eclipse (X)HTML/CSS 1 25.10.2007 13:55