Цитата:
if(!"required" in document.createElement("input")) { //нет поддержки, проверка скриптом } Но, например, Apple давно забросил поддержку своего Safari под Windows и хотя этот браузер отвечает, что поддерживается "required", в тоже время с чистой совестью отправит форму и с пустым таким полем. То есть кроме этого нужно еще и браузер, и ОС проверить. Цитата:
А если нет, обязательное поле заполнено, то проверка согласно условию заполнения. В случае если условие описывается шаблоном рег. выражения (это можно узнать как this.pattern), то конструктором RegExp создаем объект регулярного выражения и проверяем: var re = new RegExp(this.pattern); if(!re.this.value)) { //значение не соответствует рег. выражению } Вот только почему ваш телефон начинается с (XXX), видимо плагин подставляет первую цифру. Если же проверять по pattern, то в нем должен быть описан полный формат номера. |
Ух представлял все проще
Цитата:
Проверка сафари - как-то так? var Sb = navigator.userAgent.toLowerCase(); if (Sb.indexOf("safari/") !== -1 && Sb.indexOf("windows") !== -1 ) { } Узнал я что сафари, а в случае сафари проверка какаято другая? Даже не представляю Цитата:
pattern="/8\s\([0-9]{3}\)\s\[0-9]{3}-[0-9]{2}-[0-9]{2}/" |
<!DOCTYPE HTML> <html> <head> <meta http-equiv="content-type" content="text/html; charset=UTF-8" /> </head> <body> <form> <input style="width:300px" required="" pattern="8\s\(\d{3}\)\s\d{3}-\d{2}-\d{2}" placeholder="Используйте формат: 8 (NNN) NNN-NN-NN" /> <button>Send</button> </form> </body> </html> Попробуйте отправить эту форму с пустым полем или отличным от указанного формата. Сафари же примет это к сведению, не более. То есть, в браузерах не имеющих нативной проверки ввод будет проверяться скриптом. Тут только надо иметь ввиду - вся проверка на клиенте, это чисто сервис для клиента, серверу же на эту проверку наплевать и растереть. По приему формы сервер обязан проверить эти данные сам. А из этого можно сделать вывод - есть нативная проверка, хорошо, нет и пофиг, не надо никаких скриптов, сервер проверит и вернет ошибки. Если отправка формы асинхронная, то это тем более не в тягость для пользователя. Хотя это мое мнение, вы поступайте так как считаете нужным. У вас есть плагин проверки ввода номера, просто прочтите в документации о его методах, а то сдается мне запутаетесь в скриптах и ... |
да, я понял что вы хотели до меня донести, на сайте у меня точно также сейчас форма выглядит.
в скриптах конечно я уже запутался но попытаюсь распутаться я изначально может не так понял должно быть так: если отсутствует нативная проверка ИЛИ браузер сафари и ос windows, то выпаолняем скрипт.... ? никакого отдельного скрипта для сафари не пишется? (если пишется то не стоит объяснять, не пойму) если не пишется, то проверка сафари будет примерно методом как я указал в предыдущем посте? |
Цитата:
Цитата:
|
Часовой пояс GMT +3, время: 02:38. |