Ajuda com Javascript - recuperar valores gerados por loops
Olá muito bom dia a todos, sou principiante com javascript se meu código estiver errado me corrijam por favor. Minha dúvida é o seguinte estou fazendo um sistema web que a pessoa escolhe através de um combobox a quantidade de campos que ela ira gerar, cujo campos são para a inserção de textos até aqui consegui fazer funcionar normalmente (não sei se fiz da forma correta, porém esta funcionando) minha dúvida é saber como posso pegar os textos que foram inseridos em cada textbox, sendo que os campos foram gerados por meio de um loop (for). Segue o código (javascript):
function gerar()
{
var qntMaquinas = document.getElementById("qntdm").options[document.getElementById("qntdm").selectedIndex].text;
var nodeElement = document.getElementById(''gerarM'');
for (var i = 0; i < qntMaquinas-1; i++) {
var clone = nodeElement.cloneNode(true);
var campo = document.body.appendChild(clone)[i];
}
}
function limpar()
{
window.location.reload()
}
Claudio Júnior
Curtidas 0
Respostas
Angelo Rubin
05/11/2018
Olá,
Você pode fazer desta forma:
OBS: Estou simulando como se já estivesse com os inputs adicionados ao DOM.
HTML
JS
Console
Veja um exemplo funcionando aqui - https://codepen.io/angelorubin/pen/eXprNr?editors=0011
Você pode fazer desta forma:
OBS: Estou simulando como se já estivesse com os inputs adicionados ao DOM.
HTML
<input value="value 1"/><br/><br/> <input value="value 2"/><br/><br/> <input value="value 3"/><br/><br/> <input value="value 4"/><br/><br/> <button>getInputValues</button>
JS
const inputs = document.querySelectorAll('input')
const btn = document.querySelector('button')
const getInputValues = inputs => {
let values = []
for(input of inputs){
values.push(input.value)
}
return values
}
btn.addEventListener('click', () => {
console.log(getInputValues(inputs))
})
Console
["value 1", "value 2", "", "value 4"]
Veja um exemplo funcionando aqui - https://codepen.io/angelorubin/pen/eXprNr?editors=0011
GOSTEI 0
Angelo Rubin
05/11/2018
Olá,
Você pode fazer desta forma:
OBS: Estou simulando como se já estivesse com os inputs adicionados ao DOM.
HTML
JS
Console
Veja um exemplo funcionando aqui - https://codepen.io/angelorubin/pen/eXprNr?editors=0011
Você pode fazer desta forma:
OBS: Estou simulando como se já estivesse com os inputs adicionados ao DOM.
HTML
<input value="value 1"/><br/><br/> <input value="value 2"/><br/><br/> <input value="value 3"/><br/><br/> <input value="value 4"/><br/><br/> <button>getInputValues</button>
JS
const inputs = document.querySelectorAll('input')
const btn = document.querySelector('button')
const getInputValues = inputs => {
let values = []
for(input of inputs){
values.push(input.value)
}
return values
}
btn.addEventListener('click', () => {
console.log(getInputValues(inputs))
})
Console
["value 1", "value 2", "value 3", "value 4"]
Veja um exemplo funcionando aqui - https://codepen.io/angelorubin/pen/eXprNr?editors=0011
GOSTEI 0