Changer la valeur d'un attribut après un document.querySelectorAll("x,x,z"

Pour toutes les discussions javascript, jQuery et autres frameworks
Répondre
alainwebdev
Messages : 2
Enregistré le : 13 juil. 2020, 20:31

Changer la valeur d'un attribut après un document.querySelectorAll("x,x,z"

Message par alainwebdev » 13 juil. 2020, 20:40

Bonjour à tous.
Alors voilà.
J'ai un ensemble de champs input qui sont en disabled "true" dans mon fichier html
J'aimerais que lorsque je clique sur un bouton, une fonction change cet état.
Je suis parvenu à le faire en version "un par un" comme ça :
<script>
function enableContact() {
document.getElementById('ctc-lastname').disabled=false;
document.getElementById('ctc-firstname').disabled=false;
document.getElementById('ctc-phone').disabled=false;
document.getElementById('ctc-mail').disabled=false;
document.getElementById('ctc-client').disabled=false;
}
</script>
Je souhaiterais le faire en une fois pour tous les boutons dont je sélectionne les ID.
Donc j'ai écrit ça comme ça :
<script>
function enableContact() {
const elementsList = document.querySelectorAll("#ctc-lastname, #ctc-firstname, #ctc-phone, #ctc-mail, #ctc-client");
const elementsArray = [...elementsList];
elementsArray.forEach(element =>function(element){
element.removeAttribute("disabled");
element.setAttribute("disabled",false);
})
}
</script>

Mais comme vous vous en doutez, ben ça marche pas, ça ne change rien à l'attribut disabled de l'élément de mon tableau.
Si quelqu'un pouvait m'aider.
Pour info je suis pas hyper avancé en js(je suis en début de formation développeur web).

Merci d'avance

alainwebdev
Messages : 2
Enregistré le : 13 juil. 2020, 20:31

Re: Changer la valeur d'un attribut après un document.querySelectorAll("x,x,z"

Message par alainwebdev » 13 juil. 2020, 23:35

Et bien je suis parvenu à le faire seul mais sans utiliser foreach :
<script>
function enableContact() {
const elementsList = document.querySelectorAll(
"#ctc-lastname, #ctc-firstname, #ctc-phone, #ctc-mail, #ctc-client");
for (var i = 0; i < elementsList.length; i++) {
elementsList.removeAttribute("disabled");
}
}
</script>

Par contre si quelqu'un a la solution avec foreach, je suis preneur.

Répondre