Автоматический ввод при установке флажка

#javascript #laravel

Вопрос:

Мне нужна помощь.

У меня есть два ввода формы и один флажок, вот так :

введите описание изображения здесь

Когда пользователь вставляет адрес (удостоверение личности) и устанавливает флажок ниже, Адрес(место жительства) должен быть заполнен значением, таким же, как адрес(id_card), форма ввода в адрес (место жительства) автоматически вводится так же, как в форме ввода адреса (удостоверение личности).

Как это исправить? Спасибо

Комментарии:

1. покажите какой-нибудь код, чтобы кто-нибудь мог вам помочь

Ответ №1:

Тыр использует checkbox onclick событие.

 function copyAddress(e) {
  const checkboxValue = document.getElementById('copy-address').checked;
  if(checkboxValue) {
    document.getElementById('contact-address').value = document.getElementById('primary-address').value;
    document.getElementById('contact-address').disabled = true;
  }  else {
    document.getElementById('contact-address').disabled = false;
  }
} 
 <h1>Address Details</h1>

<input type="text" id="primary-address" placeholder="Primary Address">
<label for="primary-address"> Primary Address</label><br>

<input type="checkbox" id="copy-address" name="copy" onclick="copyAddress(this)">
<label for="copy-address"> Copy address</label><br>

<input type="text" id="contact-address" placeholder="Contact Address">
<label for="contact-address"> Contact Address</label><br> 

Комментарии:

1. Спасибо, это работа в моем коде. Но если какая-либо форма выбора раскрывающегося списка зависит, это не работает

Ответ №2:

Я бы обработал щелчки по флажку. В обработчике я бы скопировал значение из одного поля в другое, если оно проверено, и очистил 2-й адрес, если это не так.

 "use strict";
function byId(id){return document.getElementById(id);}
window.addEventListener('load', onLoaded, false);

function onLoaded(evt)
{
  byId('addrsAreSameCb').addEventListener('click', onAddrsAreSameCbClicked, false);
}

function onAddrsAreSameCbClicked(evt)
{
  if (this.checked == true)
  {
    byId('addr2').value = byId('addr1').value;
  }
  else
  {
    byId('addr2').value = '';
  }
} 
 <input id='addr1'/><br>
<label><input type='checkbox' id='addrsAreSameCb'/>Addr 2 is same as Addr1</label></br>
<input id='addr2'/>