У меня есть небольшая проблема с if и regex, и я не нашел свою ошибку :-(
На submit у меня есть каждый, чтобы пройти через все поля ввода (работает)
Тогда a имеет a, если во всех входных полях, где "имя" в имени.
Первая часть, если в ней нет символов, отлично работает (автономно), другой с регулярным выражением не работает :-(
Таким образом, if должен запускаться, когда ничего не находится в поле и когда формат не соответствует 24-часовому формату 00:00 или 09:30...
Таким образом, красная рамка должна быть видимой, когда в поле ничего нет и когда вход не соответствует 24-часовому формату.
Теперь он запускается каждый раз с правильным и ложным вводом :-(
Код:
$(submit1).click(function (e)
{
e.preventDefault();
var regtime = /([01]?[0-9]|2[0-3]):[0-5][0-9]/;
$("input").css({"border": "1px solid #bbb"});
$("input").each(function(index) {
if($('input[name$="[von]"]').val() == '' || (!regtime.test($('input[name$="[von]"]'))))
{
$('input[name$="[von]"]').css({"border": "solid", "border-color": "red"});
}
});
});
СПАСИБО !
Пытаться
var valid = true;
//loop through only the desired input fields
$('input[name$="[von]"]').each(function () {
//get the value of the current input fields in the loop
var $this = $(this),
value = $this.val();
//target the value in the regex
if (value == '' || !regtime.test(value)) {
$this.css({
"border": "solid",
"border-color": "red"
});
valid = false;
}
});
if (!valid) {
//prevent form submit
}
Поскольку TJ удалил ответ, заимствуя его объяснение для ошибки теста регулярного выражения
Передача объекта jQuery в тест RegExp # неявно вызовет toString на нем, и поэтому значение, которое вы проверили бы, будет "[object Object]", а не значением ввода.
else
с помощью$("input").css({"border": "1px solid #bbb"});