Я хочу добавить checkPasswordMatch() через функцию JavaScript в нашем файле twig для 1-го 2-го совпадения пароля в регистрационной форме.html.twig Функция формы
Simple HTML FORM это работает, но в Twig Form это не работает. В простой форме добавить, как это: -
<div">
<input type="password" id="txtNewPassword" />
</div>
<div>
<input type="password" id="txtConfirmPassword" onKeyUp="checkPasswordMatch();" />
</div>
Это работает отлично.
И Java Script: -
<script>
function checkPasswordMatch() {
var password = $("#txtNewPassword").val();
var confirmPassword = $("#txtConfirmPassword").val();
alert(password);
if (password != confirmPassword)
$("#divCheckPasswordMatch").html("Passwords do not match!");
else
$("#divCheckPasswordMatch").html("Passwords match.");
}
</script>
И это мой Twig файл, где я хочу эту функциональность дополнения: -
<label for="username"><strong>Password</strong>
{{ form_widget(form.plainPassword.first,{'id':'txtNewPassword' }) }}
</label>
<label for="username"><strong>Confirm Password</strong>
{{ form_widget(form.plainPassword.second,{'id':'txtConfirmPassword', 'onKeyUp' :'checkPasswordMatch()' }) }}
</label>
Любой один знаю, что, как я могу добавить эту OnKeyUp функцию этот тип веточек?
Спасибо!
Мне было все равно, о хороших или плохих практиках. В моей книге использование JQuery - худшая практика. Каждому свое. Тем не менее, я согласен, что было бы удобнее настроить обработчик событий проверки поля с помощью JavaScript, чтобы собрать все соответствующие коды в одном месте и стать независимыми от способа создания фактической формы. –
Спасибо, Маркус. Я не хочу связывать функциональность JS в шаблонах ветви. Здесь только, к примеру. Но моя проблема решена. Я делал неправильно в этой части: - {{form_widget (form.plainPassword.second, {'id': 'txtConfirmPassword', 'onKeyUp': 'checkPasswordMatch()'})}}. Я могу удалить это и добавить новый {{form_widget (form.plainPassword.second, {'attr': {'id': 'txtConfirmPassword', 'onKeyUp': 'checkPasswordMatch()'}}}}}. то это работает нормально. – Sid