Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #31 (permalink)  
Старый 28.10.2018, 04:52
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

Сообщение от brp80000
Установка Can_ID.maxlength = "4"; должна работать?
И что это такое вообще?
Ответить с цитированием
  #32 (permalink)  
Старый 28.10.2018, 05:06
Аспирант
Отправить личное сообщение для brp80000 Посмотреть профиль Найти все сообщения от brp80000
 
Регистрация: 27.10.2018
Сообщений: 40

Сообщение от laimas Посмотреть сообщение
<style>
.maxlen:invalid {
    color: #f00
}

.maxlen:valid {
    color: #444;
}
</style>

<input class="maxlen" pattern="[A-F\d]{1,6}" />
А КАК СЮДА ВСТАВИТЬ ЗНАЧЕНИЕ ПО УМОЛЧАНИЮ?
<script>
Can_ID.value = Can_IDs;
</script>
Ответить с цитированием
  #33 (permalink)  
Старый 28.10.2018, 05:14
Аспирант
Отправить личное сообщение для brp80000 Посмотреть профиль Найти все сообщения от brp80000
 
Регистрация: 27.10.2018
Сообщений: 40

Всё получилось, спасибо
Ответить с цитированием
  #34 (permalink)  
Старый 28.10.2018, 05:33
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

Сообщение от brp80000
Can_ID.value = Can_IDs;
И где же "правило" "Там сохраняются как раз пары НАЗВАНИЕ .. ЗНАЧЕНИЕ"?

Я теряю ход мысли, дальнейшее похоже на куски вырванные из контекста.

Когда-то я вплотную занимался микроконтроллерами, имеется в виду Atmel, Microchip и т.п. Сейчас очень редко, когда нужно что-то для себя сделать. А контроллер, это цифровой автомат, выполняющий то, что предписано, изменили предписание, изменилось поведение.

Я пишу либо на ассемблере, либо на си, при этом я могут портам назначить имена. Если я хочу управлять этими портами через интерфейс (форму), то мне выгодно имена этих портов связать так, что и программа на JS была не костылем с «ручной сборкой и установкой» параметров, а таким же цифровым автоматом. То есть, если речь о пяти формах, то один и тот же автомат обеспечивает работу со всеми формами, а как поступать с полями в той или иной форме, это будет предписано через атрибуты, группы имен классов, имена и т.п.

Этого у вас нет. Более того, maxlength, это параметр, определяющий максимальную длину значения. Почему он изменяется динамически? Если это необходимо, то почему это не является частью задачи «js-автомата» и выглядит как одна из ручных операций среди сотни?

Если я пишу интерфейс к своему контроллеру, доступ к нему имею только я, значит достаточно определить границы наборов ввода и выбора, причем многое может контролироваться не активным сценарием, а непосредственно браузером. Моей же главной задачей будет проверка на сервере – любое пришедшее поле не входящее в ожидаемый набор или же любое значение поля, которое не в границах допустимого, означает, что форма левая.

Более что-то сказать еще я не могу, ибо не видно протокола, по которому обменивается клиент-сервер, как определяется параметр -> сопутствующее поле формы -> значение. Показываются куски непонятные и практически несвязуемые.

Сообщение от brp80000
А КАК СЮДА ВСТАВИТЬ ЗНАЧЕНИЕ ПО УМОЛЧАНИЮ?
value="значение"
Ответить с цитированием
  #35 (permalink)  
Старый 28.10.2018, 05:40
Аспирант
Отправить личное сообщение для brp80000 Посмотреть профиль Найти все сообщения от brp80000
 
Регистрация: 27.10.2018
Сообщений: 40

А можно сделать чтобы в зависимости от выбранного значения в предыдущем selectE
<select name ="CanFrame_Type" id="CanFrame_Type">
<option value="Std">Std</option>
<option value="Ext">Ext</option>
</select>
</div>
тут менялось количество доступных для ввода символов 1-4 или 1-8

<style>
.maxlen:invalid {
color: #f00
}

.maxlen:valid {
color: #444;
}
</style>

<input class="maxlen" pattern="[A-F\d]{1,6}" />

Последний раз редактировалось brp80000, 28.10.2018 в 05:43.
Ответить с цитированием
  #36 (permalink)  
Старый 28.10.2018, 05:46
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

Можно, но почему при этом значения опций имеет не 4 и 8, а Std и Ext? Что проще - взять значение списка применяя его как параметр для поля формы или по строковому значению списка где-то выковырять сопутствующее цифровое значение, которое уже применить как параметр к полю формы?

У вас и с переменными так - у них одни имена, а поля для которых они определены вообще по иному дразнятся. Это не программа, это пятнашки, где вы вынуждены сами каждую руками двигать.
Ответить с цитированием
  #37 (permalink)  
Старый 28.10.2018, 07:40
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

Допустим что у вас Ajax. В этом случае отправить форму, это ее сериализация (если JQ, то ее методы) или FormData(текущая форма). В любом случае поля формы должны иметь имена. Если имена полей это имена переменных, а форм несколько, то выгоден JSON:

//это установки контроллера и данные по формам
var data = {'#as1': [ //для одной формы
    {'Sample_Rate': 1},
    {'Sample_Volume': 2}
], '#as2': [ //для другой формы
    {'var_Rate': 2},
    {'var_Volume': 2}
]};

//как отметить выбор в формах
$.each(data, function(frm, opt) { //обходим объект
    frm = document.querySelector(frm); //получили форму
    $.each(opt, function(i, d) { //устанавливаем значения/выбор в полях
        var name = Object.keys(d); //имя поля/параметра
        frm[name].querySelector('[value="'+d[name]+'"]').selected = true; //установка
    })
})


Если форма имеет флажки, радио кнопки, текстовые поля, то можно сгруппировать такие поля префиксами в именах, например списки, это sel_, флажки и кнопки, это chk_, val_ текстовое поле. Проверяя префикс имени можно определить действие, то есть для списка это найти соответствующий опшен, выбрав его, для флажков отметить/выбрать как checked, а для текстовых полей установить значение. То есть без всяких заморочек не оперируя явно именами.

Всякие управляющие конструкции, типа как при изменении в списке изменить параметр поля, можно конечно и ID.параметр = IDs. А что если таких конструкций не одна?

Допустим имеется ряд параметров длина значений которых может динамически изменяться. Следовательно нужно описать один обработчик для всех таких изменений. При этом длина параметра может задаваться как атрибутом maxlength, так и быть параметром рег. выражения. Значит нужно определить для обработчика элемент, в котором изменяется параметр, и где он находится. Сделать это можно просто через атрибут, который также будет служить селектором для установки обработчика:

<form>
<select data-max="max1,attr">
<option value="4">Short</option>
<option value="8">Long</option>
</select>
<input name="max1" maxlength="4" />
<select data-max="max2,reg">
<option value="4">Short</option>
<option value="8">Long</option>
</select>
<input name="max2" pattern="\d{1,4}" />
</form>

<script>
$('[data-max]').change(function() { //обработчик изменения параметров полей
    var max = this.getAttribute('data-max').split(','), //элемент и место параметра
        elm = this.form[max[0]]; //сам элемент
    if(max[1]=='attr') elm.setAttribute('maxlength', this.value); //изменение параметра заданное атрибутом 
    else elm.pattern = elm.pattern.replace(/\d(?=\})/, this.value) //изменение параметра шаблона рег. выражения
})
</script>
Ответить с цитированием
  #38 (permalink)  
Старый 28.10.2018, 22:18
Аспирант
Отправить личное сообщение для brp80000 Посмотреть профиль Найти все сообщения от brp80000
 
Регистрация: 27.10.2018
Сообщений: 40

Не хочу плодить темы. Ещё вопрос. Есть возможность вывести на страницу содержимое папки на сервере папка /logs/ в папке файлы с расширением .log
Чтобы нажав на файл он скачался.
Ответить с цитированием
  #39 (permalink)  
Старый 29.10.2018, 02:07
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

Если каталог не закрыт для прямого доступа, не запрещен листинг файлов в нем и он не имеет индексного файла, то запрос к этому каталогу в браузере и выведет список его файлов. Выбирайте, скачивайте. Но такой каталог и его файлы будут доступны всем.
Ответить с цитированием
  #40 (permalink)  
Старый 29.10.2018, 05:32
Аспирант
Отправить личное сообщение для brp80000 Посмотреть профиль Найти все сообщения от brp80000
 
Регистрация: 27.10.2018
Сообщений: 40

Сорри, не могу никак найти команду для вывода листинга((
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Форма для поиска по странице средсвами javascript andikk Общие вопросы Javascript 12 11.04.2013 23:59
Внедрение тега select в javascript Серджио Элементы интерфейса 1 05.10.2012 15:54
javascript и select sharomet Общие вопросы Javascript 11 16.05.2012 22:53
Последние книги по JavaScript! monolithed Учебные материалы 7 26.10.2010 19:40
Выдвет ошибку JavaScript Ромио Opera, Safari и др. 4 21.10.2010 20:34