Проверка полей формы

G0BLIN

Пользователь
Регистрация
01.01.70
Сообщения
1
Реакции
0
Баллы
1
Адрес
Россия
Привет, я здесь новичок, надеюсь, кто-нибудь меня спасет.

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

Все работает отлично, за исключением одного поля, с которым я не могу работать.

Я хочу сказать, что если в поле «os7» не все заглавные буквы, отправьте сообщение в поле «calcprice» «ID недействителен».
Проверка полей формы
Я немного новичок, поэтому, пожалуйста, извините меня.

Это то, что я пробовал, но не работает

if(form.os7.value != (/^[A-Za-z]+$/)) {return form.calcprice.value = "ID недействителен"; }

Я использовал очень похожее в других полях, но значение было конкретным, поэтому мне интересно, может быть, виноваты пунктуация или значение в скобках, потому что это работает нормально:

if (form.os2.value == "Y" || form.os2.value == "Z" || form.os2.value == "Za") {return form.calcprice.value = "Извините, цены в приложении "; }

с нетерпением жду вашего ответа

Спасибо
 

blog_muz_ru

Пользователь
Регистрация
01.01.70
Сообщения
1
Реакции
0
Баллы
1
Адрес
Russia
Привет! Я уверен, что это легко, но я совершенно не знаю, как это сделать. Я разместил ваш jsfiddle, и ничего не работает, так что, думаю, я полный тупица.
Я рад поделиться тем, что мне нужно, чтобы найти решение, но я не знаю, как
 

Petr228

Пользователь
Регистрация
17.12.14
Сообщения
1
Реакции
0
Баллы
1
В коде, который, как вы говорите, у вас есть сейчас, это не работает (этот: if(form.os7.value != (/^[A-Za-z]+$/)) {return form.calcprice.value = "ID недействителен" }) - вы пробовали просто изменить A-Za-z на A-Z? Это должно разрешать только верхний регистр
 

Игорь Широбоков

Пользователь
Регистрация
07.03.13
Сообщения
1
Реакции
0
Баллы
1
Они не мочь переопределите это решение jquery, скопировав и вставив. Похоже, вы не проверяли тот jsfiddle, который я вам дал. Единственный способ сделать это — отключить JavaScript в своих браузерах. Но тогда, вероятно, ни одно из ваших решений не помешает им делать все, что они хотят.

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

Blazze

Пользователь
Регистрация
26.11.12
Сообщения
2
Реакции
0
Баллы
1
Хорошо, спасибо за ваши ответы, но, возможно, я не совсем ясно выразился - я понимаю все вышеперечисленное, и поле работает отлично - люди могут вводить только заглавные буквы.
Моя проблема в том, что они могут отменить это, скопировав/вставив в поле, если захотят, и, поверьте мне, они попытаются это сделать.

Итак... У меня есть скрипт, который проверяет правильность всех полей при нажатии кнопки - и они нажимают ее, потому что он вычисляет цену, если все поля введены правильно.

В этом сценарии я хочу, чтобы он говорил, что если поле os7 состоит не только из заглавных букв (без цифр), тогда {return form.calcprice.value = "ID Invalid"; }

Как показывает мой первый пост, этот метод отлично работает для всех остальных полей — только для этого я не могу разобраться с синтаксисом.

Мой сценарий начинается так: -

функция CalculateBasic(форма) {
«используйте строгий»;

if (form.os2.value == "Y" || form.os2.value == "Z" || form.os2.value == "Za") {return form.calcprice.value = "Извините, цены в приложении "; }
if ((form.os0.value == "Обычный закрытый" || form.os0.value == "Закрытый с черной заливкой" || form.os0.value == "Обычный разделенный" || form.os0.value == "Разделение с черной заливкой") && form.os1.value != "Обычный") {return form.calcprice.value = "цвета недоступны с этими параметрами"; }
if ((form.os0.value == "Анодированный сплит") && form.os1.value == "Обычный" ) {return form.calcprice.value = "Пожалуйста, выберите цвет"; }

много посередине ........ и заканчивается

if (form.os0.value == "Разделение с черной заливкой" && form.os3.value == (40) ) {return form.calcprice.value = "27.00"; }
if (form.os0.value == "Разделение с черной заливкой" && form.os3.value == (50) ) {return form.calcprice.value = "32,48"; }

вернуть истину;
}
 

jfinister

Пользователь
Регистрация
16.09.15
Сообщения
4
Реакции
0
Баллы
1
Это в jquery. Возможно, кто-то сможет придумать что-то подобное в JavaScript. Однако это работает. Измените .lettersonly на свой класс:

http://jsfiddle.net/HwTEj/387/

Код:
<script type="text/javascript" src="[URL='https://wmlogs.com/yti/a4SS4anNodHRwOi8vY29kZS5qcXVlcnkuY29tL2pxdWVyeS0xLjkuMkjL']http://code.jquery.com/jquery-1.9.1.js[/URL]"></script>
<script>
$(function() { $('.lettersonly').keyup(function() { this.value = this.value.toUpperCase(); });
});
$(".lettersonly").on("input", function(){ var regexp = /[^a-zA-Z]/g; if($(this).val().match(regexp)){ $(this).val( $(this).val().replace(regexp,'') ); }
});
</script>
Код (разметка):
 

make_girl_dance

Пользователь
Регистрация
01.01.70
Сообщения
2
Реакции
0
Баллы
1
Адрес
Киев
Привет и спасибо всем за ваши усилия - я попробовал все, но с треском провалился - теперь решил проблему, просто запретив «вставку» в этом поле, чтобы буквы и прописные буквы работали - поэтому окончательная проверка не требуется, поскольку ее нельзя вставить в
 
Сверху Снизу