как взять со скрипта значение для поля input
<div> <span>Can ID (HEX):</span> <input maxlength="8" size="6" id="Can_ID" > </div> <script> xxxxxxxxxxxxxxxxxxxx </script> в скрипте написано var Can_IDs = 400; |
Can_ID.value = 400; |
почему то не получается ограничить ввод по количеству символов
<div> <span>Can ID (HEX):</span> <input type="text" id="Can_ID" onkeyup="var yratext=/['А-я','G-z','\s']/; if(yratext.test(this.value)) alert('Invalid value (valid: A,B,C,D,E,F,1,2,3,4,5,6,7,8,9,0)')" size="6"> </div> <script> Can_ID.value = Can_IDs; if ('+CanFrame_Typ+'=="Std") Can_ID.maxlength = "4"; if ('+CanFrame_Typ+'=="Ext") Can_ID.maxlength = "8"; </script> ------------------------------------------------------------- var CanFrame_Typ = "Ext"; var Can_IDs = "400"; |
<input maxlength="8" size="6" id="Can_ID" >
var Can_IDs = 400; Уже плохо. И взаимодействие клиента с сервером тайна покрытая мраком. Ajax? Да возможно, но это только в случае если изменение каждого параметра есть отдельный запрос. Можно в таком случае и установки контроллера запрашивать ajax запросом, при этом файл переменных в общем-то не нужен, тем более что все настройки пишутся в контроллер. В этом случае поля могут не иметь имен. Но в начале темы фигурирует submit, а это означает, что сначала выбрали, затем отправили весь выбор. Карячится при этом собирая поля по их ID, ну если охота заморачиваться, то можно. Но куда проще естественный путь - получить форму и отправить. Имена полей (если интерфейс оправдывает, то их ID) должны быть связаны с переменными так, чтобы с параметрами и полями формы можно было работать анонимно. Вы ведь сотню параметров хотите определить, что каждый Can_ID ручками связывать с каждым Can_ID? И это при том, что поля формы это коллекция, и в этой коллекции не так и много типов, которые различаются способом установки значений - selected, checked, value. Если при этом именовать поля с префиксами, которые будут определять группу типов полей, то хоть для нескольких сотен параметров их установка, это один цикл, максимум 10 строк кода. |
Ну у меня всё побито на вкладки. Максимум 5 форм с ID на вкладке и кнопка submit.При нажатии submit планировал переписывать область флеш и перегенирировать файл с переменными
|
Ну так форма отправляется естественным путем, а естественный путь, это поле формы должно иметь имя, иначе на сервер такое поле не передается. Вы же снабдили поля ID, а значит все придется описывать, причем все именуется так, что черт ногу сломит - переменные параметров никак не связаны с полями формы.
|
Имена у них будут одинаковые. Если интересно почитайте про nvs flash у ESP32. Там сохраняются как раз пары НАЗВАНИЕ .. ЗНАЧЕНИЕ
Подскажите всё же почему мой код не работает в плане параметра maxlength |
Во-первых выбрасывайте из атрибутов полей " if(yratext.test(this.value)) alert('Invalid value...". Во-вторых шаблон рег. выражения для проверки хранить в атрибуте pattern, и вместо js-кода в атрибутах определять сценарий - при отправлении формы проверить ввод, если определен pattern, значит рег выражением по этому шаблону. Поведение такого поля при некорректном вводе может определяться и стилями. И вообще, параметры могут быть различными (говорилось же о списках), и если это для себя, то может проще определить допустимые наборы, а свободный ввод, это типа для url.
Очень сложно что-то советовать, когда не видно концепции, а есть какие-то куски не понятно чего и для чего. ;) |
Установка Can_ID.maxlength = "4"; должна работать?
синтаксис правильный? |
<style> .maxlen:invalid { color: #f00 } .maxlen:valid { color: #444; } </style> <input class="maxlen" pattern="[A-F\d]{1,6}" /> |
Часовой пояс GMT +3, время: 00:36. |