@ReytexGames

Как изменить placeholder при нажатии на переключатель (radio)?

Как изменить placeholder на определённый текст, при нажатии на переключатель (radio)?
5feb751d0075c664255298.png
<body>
  <form>
   <p><b>Выберите платёжную систему</b></p>
    <p><input name="method" type="radio" id="item1" value="qiwi" checked>Qiwi</p>
    <p><input name="method" type="radio" id="item2" value="ym">ЮMoney</p>
    <p><input name="method" type="radio" id="item3" value="wm">Webmoney</p>
    <p><input name="method" type="radio" id="item4" value="card">Карта</p>
    
    <input type="text" name="wallet" value="" required placeholder="79181234567"/>
    <small>Введите ваши реквизиты.</small>
  </form> 
 </body>
  • Вопрос задан
  • 240 просмотров
Решения вопроса 1
0xD34F
@0xD34F Куратор тега JavaScript
Радиокнопкам добавляете data-атрибут, который будет содержать значение для плейсхолдера:

<input type="radio" name="xxx" data-placeholder="hello, world!!">
<input type="radio" name="xxx" data-placeholder="fuck the world">
<input type="radio" name="xxx" data-placeholder="fuck everything">

Достаёте это значение, когда у формы случается событие change, имеющее своим источником радиокнопку, назначаете его текстовому полю:

document.addEventListener('change', ({ target: t }) => {
  if (t.matches('input[type="radio"][data-placeholder]')) {
    t.closest('form').querySelector('input[type="text"]').placeholder = t.dataset.placeholder;
  }
});
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы