como puede ver en el ejemplo, estoy tratando de extraer todos los valores de las entradas tan pronto como se verifiquen e imprimirlos en un texto de entrada que se enviará por correo. Estoy en un punto que no puedo aclarar porque solo puedo imprimir la última opción en esa entrada y no las tres.
Creo que el error es que debería capturar los resultados fuera del ciclo for, pero no veo cómo hacerlo.
const groupInput1 = document.getElementsByName('glassLeistung'); const output = document.getElementById('glassType'); const go = document.getElementById('go'); go.addEventListener("click", event => { for (let i = 0; i < groupInput1.length; i++) { if (groupInput1[i].checked) { console.log(groupInput1[i].value); output.value = groupInput1[i].value + '' } } }) <input type="checkbox" class="selected" id="glass" name="glassLeistung" value="Glass" autocomplete="off"> <input type="checkbox" id="rahmen" class="selected" name="glassLeistung" value="Rahmen" autocomplete="off"> <input type="checkbox" id="falzen" class="selected" name="glassLeistung" value="Falzen" autocomplete="off"> <input type="text" name="glassType-420" value="" size="40" id="glassType" aria-invalid="false"> <button id="go">go</button>si alguien pudiera ayudarme sería increíble. Gracias
const groupInput1 = document.getElementsByName('glassLeistung'); const output = document.getElementById('glassType'); const go = document.getElementById('go'); go.addEventListener("click", event => { output.value='' for (let i = 0; i < groupInput1.length; i++) { if (groupInput1[i].checked) { console.log(groupInput1[i].value); output.value = output.value + groupInput1[i].value + ' ' } } }) <input type="checkbox" class="selected" id="glass" name="glassLeistung" value="Glass" autocomplete="off"> <input type="checkbox" id="rahmen" class="selected" name="glassLeistung" value="Rahmen" autocomplete="off"> <input type="checkbox" id="falzen" class="selected" name="glassLeistung" value="Falzen" autocomplete="off"> <input type="text" name="glassType-420" value="" size="40" id="glassType" aria-invalid="false"> <button id="go">go</button>Simplemente agregue una variable para recopilar los valores y, después del ciclo, agréguelos a la vez.
const groupInput1 = document.getElementsByName('glassLeistung'); const output = document.getElementById('glassType'); const go = document.getElementById('go'); go.addEventListener("click", event => { const collectHere = []; for (let i = 0; i < groupInput1.length; i++) { if (groupInput1[i].checked) { console.log(groupInput1[i].value); collectHere.push(groupInput1[i].value); } } output.value = collectHere.join(' - '); }) <input type="checkbox" class="selected" id="glass" name="glassLeistung" value="Glass" autocomplete="off"> <input type="checkbox" id="rahmen" class="selected" name="glassLeistung" value="Rahmen" autocomplete="off"> <input type="checkbox" id="falzen" class="selected" name="glassLeistung" value="Falzen" autocomplete="off"> <input type="text" name="glassType-420" value="" size="40" id="glassType" aria-invalid="false"> <button id="go">go</button>