Я много искал на этом форуме, чтобы решить эту проблему, но до сих пор не удалось. У меня есть форма с несколькими разделами <input>
. В этой форме у меня есть поле пароля и поле пароля подтверждения, которое необходимо проверить с помощью первого пароля. Вот пример кода HTML:входы с квадратными скобками в атрибуте имени
<input
title="Password should contain at least 6 characters or numbers" type="password"
pattern=".{6,}"
name="RegisterForm[password]"
onchange="this.setCustomValidity(this.validity.patternMismatch ? this.title : ''); if(this.checkValidity()) form.RegisterForm[password2].pattern = this.value;"
placeholder="Password..."/>
<input
title="Please enter the same Password as above"
type="password"
pattern=".{6,}"
name="RegisterForm[password2]"
onchange="this.setCustomValidity(this.validity.patternMismatch ? this.title : '');"
placeholder="Confirm Password . . ."/>
Оба входа имеют имя с квадратными скобками, например. "RegisterForm[password]"
. Если я использую атрибуты имени без скобок, то проверка выполняется, если я использую ее с помощью скобок, проверка не работает. Любые идеи о том, как преодолеть проблему квадратной скобки в атрибуте name без потери квадратных скобок?
Если бы я заменил атрибуты имени "password1"
и "password2"
, тогда все будет работать так, как должно было быть.
Если у кого-то есть решение, пожалуйста, помогите мне! :-).
У вас возникла ошибка в вашем javascript: 'form.RegisterForm. [Password2] .pattern' недействителен. Я мог бы помочь, если вы предоставите немного больше кода, неясно, откуда приходит объект form. –
очень ценю вашу помощь. Я добавил больше кода и действительно заметил ошибку (между регистрами. [Password2], но проблема не устранена. –
Хе-х, вы вставили много бесполезного HTML, извините, если я не понял: мне интересно 'form.RegisterForm': вы сами строите этот объект? Проблема заключается в том, что' form.RegisterForm. [password2] .pattern' попытается получить доступ к некоторому свойству объекта RegisterForm, определенному __variable__ 'password2', и я верю в ваш случай будет оцениваться как 'form.RegisterForm. [undefined]'. BTW, есть ли ошибки в консоли браузера? –