Tengo un código de trabajo para pasar el valor de una identificación a otra, pero para hacerlo necesito un botón para pasarlo al hacer clic. Quiero pasar el valor sin un botón directamente a la otra entrada. Mientras investigaba, acabo de ver soluciones onclick... ¿Hay alguna otra forma o estoy atascado con esta opción?
Mi código:
window.onload = function() { document.getElementById('button').onclick = function() { document.getElementById('email2').value = document.getElementById('email').value; document.getElementById('firma2').value = document.getElementById('firma').value; document.getElementById('name2').value = document.getElementById('name').value; document.getElementById('nummer2').value = document.getElementById('nummer').value; } };Pruebe esta solución:
const textInput = document.querySelector('#text'); const checkboxInputs = document.querySelectorAll('[id^=checkbox]'); const secondInput = document.querySelector('#second'); const thirdInput = document.querySelector('#third'); textInput.addEventListener('input', (e) => { secondInput.value = e.target.value; }) textInput.addEventListener('change', (e) => { thirdInput.value = e.target.value; }) const checkboxesSet = new Set(); checkboxInputs.forEach(checkboxInput => checkboxInput.addEventListener('change', (e) => { const label = document.querySelector(`label[for=${e.target.id}]`).innerText; checkboxesSet[e.target.checked ? 'add' : 'delete'](label); const text = [...checkboxesSet].join(', '); secondInput.value = text; thirdInput.value = text; }) ) <label for="text">Text input</label> <input id="text"> <br/> <label for="checkbox1">Checkbox input 1</label> <input id="checkbox1" type="checkbox"> <br/> <label for="checkbox2">Checkbox input 2</label> <input id="checkbox2" type="checkbox"> <br/> <label for="second">While typing</label> <input id="second"> <br/> <label for="third">At the end</label> <input id="third">Podría considerar usar onchange en lugar de onclick.