Я пытаюсь объединить формы входа и регистрации на сайте WooCommerce / WordPress.Идея состоит в том, что один набор полей, имя пользователя и пароль, может быть представлен двумя разными формами.Первый способ, о котором я подумал (упрощенно для ясности):
<form id="login">
<input id="username">
<input id="password">
<button type="submit">LOG IN</button>
</form>
<form id="register">
<div style="visibility:hidden!important;position:fixed!important;">
<input id="register_username">
<input id="register_password">
</div>
<button type="submit">REGISTER</button>
</form>
По сути, компоновка скрывает вторую пару входов, но показывает обе кнопки.Затем есть некоторый JS, который отражает значения соответствующих полей:
var u = $('#username');
var p = $('#password');
var ru = $('#register_username');
var rp = $('#register_password')
$('#login').on('change blur focus click keyup',function(){
ru.val(u.val());
rp.val(p.val());
});
Это, кажется, вызывает предупреждение о том, что «недопустимое поле не может быть сфокусировано» - что я понимаю - но можно ли это решить и сделатьЧто ж?Есть ли способ сделать это без JavaScript?Есть ли вообще лучший способ?
Предположим, я покажу скрытые вещи в том случае, если в браузере пользователя нет JS.Давайте также предположим, что мне дали этот дизайн и попросили реализовать его, то есть это не вопрос о UX .