Pertanyaan sederhana (saya pikir):

Jika Anda mengubah nilai dalam input, hasil string dari xmlserializer tidak menunjukkan nilai

Di cuplikan saya, coba masukkan input, lalu klik Serialize.

Mengapa tidak berubah, dan apa yang bisa saya lakukan untuk mendapatkan html input yang diperbarui?

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 Juni 2021, 02:45

1 menjawab

Jawaban Terbaik

Anda dapat menggunakan pendengar input event (atau event) untuk memperbarui atribut nilai

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 Juni 2021, 23:59