Question simple (je pense):

Si vous modifiez la valeur dans une entrée, le résultat de la chaîne de XMLSerializer ne montre pas la valeur.

Dans mon extrait, essayez d'entrer dans l'entrée, puis de cliquer sur Serialize.

Pourquoi ne change-t-il pas et que puis-je faire pour obtenir le code HTML mis à jour de l'entrée?

document.getElementById('clk').addEventListener("click", function() {
  console.log(new XMLSerializer().serializeToString(document.getElementById('foo')));
});
<input id='foo' />
<button id='clk'>Serialize</button>
0
ControlAltDel 3 juin 2021 à 02:45

1 réponse

Meilleure réponse

Vous pouvez utiliser un écouteur d'événement d'entrée (ou d'événement de modification) pour mettre à jour l'attribut valeur

document.getElementById('clk').addEventListener("click", function() {
  console.log(new XMLSerializer().serializeToString(document.getElementById('foo')));
});


document.querySelector('input#foo').addEventListener("input", function(){
   this.setAttribute('value', this.value);
})
<input id='foo' />
<button id='clk'>Serialize</button>
1
charlietfl 2 juin 2021 à 23:59