Я хочу проверить мои текстовые поля в моей форме. Но у меня возникла проблема, я просто попытался проверить одну из моих текстовых областей, но после этого моя форма не работает - я сделал локальное и сессионное хранилище и скрыл /показывать мои радиокнопки, устанавливая флажки .. Но после добавления моей функции в форму она не работает .. Я не знаю, в чем проблема
Мой файл JS, там сохранения и загрузки для локального и сессионного хранилища, функции переключения делают мои атрибуты и радионы скрытыми / видимыми.Проверка функций проверяет одну из моих текстовых областей.
function toggleAttributes(checkbox, radios, attribute, attributeValue) {
for (var i = 0; i < radios.length; i += 1) {
// If checkbox is checked, set the attribute and the attribute value. If not, remove the attribute
checkbox.checked === true ? radios[i].setAttribute(attribute, attributeValue) : radios[i].removeAttribute(attribute);
}
}
function toggleRadios(el, id) {
var radiosSelector = `#${id} input[type='radio']`,
container = document.getElementById(id),
radios = document.querySelectorAll(radiosSelector);
container.classList.toggle("hide");
toggleAttributes(el, radios, "required", "");
}
var i;
var checkboxes = document.querySelectorAll('input[type=checkbox]');
var radio = document.querySelectorAll('input[type=radio]');
function check()
{
var ok=true;
regLast = /^[a-zA-Z]{2,20}$/;
if (!regLast.test(document.getElementById("lastName")))
{
ok=false;
document.getElementsByClassName("lastNameCheck").innerHTML= "Put valid data";
}
else
document.getElementsByClassName("lastNameCheck").innerHTML="";
return ok;
}
<form "needs-validation" onsubmit "return check()">
<div class="form-group">
<label for ="lastName">Last Name:</label>
<input type = "text" class = "form-control" id = "lastName" placeholder = "Podaj nazwisko" name = "nazwisko" />
<div class="invalid-tooltip lastNameCheck">
</div>
</div>
</div>
<p>
Choose dishes:
</p>
<div class="custom-control custom-checkbox custom-control-inline">
<input type="checkbox" class="custom-control-input" id="checkGlowne" data-target="pierwsze" onclick="toggleRadios(this, 'pierwsze')">
<label class="custom-control-label" for="checkGlowne">Main</label>
</div>
<p>
Main dishes
</p>
<div id = "pierwsze" class = "hide">
<div class="custom-control custom-radio custom-control-inline">
<input type="radio" class="custom-control-input" id="1" name = "pierwsze">
<label class="custom-control-label" for="1">1</label>
</div>
<div class="custom-control custom-radio custom-control-inline">
<input type="radio" class="custom-control-input" id="2" name = "pierwsze">
<label class="custom-control-label" for="2">2</label>
</div>
<div class="custom-control custom-radio custom-control-inline">
<input type="radio" class="custom-control-input" id="3" name = "pierwsze">
<label class="custom-control-label" for="3">3</label>
</div>
<div class="custom-control custom-radio custom-control-inline">
<input type="radio" class="custom-control-input" id="4" name = "pierwsze">
<label class="custom-control-label" for="4">4</label>
</div>
</div>
<button type="submit" class="btn btn-primary" onclick="save()" >Submit</button>
</form>
Если это возможно, я хочу: проверить свою форму и, если она правильная, я хочу отправить свою форму в локальное и сессионное хранилище и показать предупреждение, но когда оно неверно, япросто хочу поставить подсказки, что ввод неправильный.У меня есть одна функция для сохранения и оповещения о моих входах. Как я могу подключиться?