Mencoba mengambil data formulir ke dalam javascript. Saya tidak yakin mengapa ini tidak berhasil.

<!DOCTYPE html>
<html>
<body>

    <form action="site2.html" onsubmit="store()">
        Enter your name: <input type="text" name="name" />
        Enter your age: <input type="text" name="age" />
        <input type="submit" />
        </form>



<!-- <div id="result"></div> -->

<script>
    function store() {
        // Check browser support
        if (typeof(Storage) !== "undefined") {
        var s = document.getElementById("name").value;
        localStorage.setItem("lastname", s);
        }
    }
</script>

</body>
</html>
0
mskw 27 Oktober 2019, 22:18

1 menjawab

Jawaban Terbaik

Ini tidak akan berfungsi dalam cuplikan ini karena penyimpanan lokal dicegah di area kotak pasir. Kode ini hanya di sini untuk referensi. Anda dapat melihatnya bekerja di jsFiddle ini. Jika Anda mengirimkan formulir dan menyegarkan/menjalankan kembali halaman, Anda akan melihat bahwa itu bahkan menetapkan nilai input dari localStorage juga. Selanjutnya ini akan bekerja dengan bidang apa pun yang ada di formulir. Tambahkan beberapa input lagi untuk melihatnya berfungsi. (Pastikan Anda memberi mereka name)

JsFiddle yang berfungsi (dengan asumsi browser Anda mendukung Penyimpanan lokal):

https://jsfiddle.net/jcgodLt6/1/

Snippet SO (di sini untuk referensi):

var form = document.getElementById("myform");
form.addEventListener("submit", store, false);

function store(e){
e.preventDefault();//prevent submission
  var inputs = form.elements;
  for (let i = 0; i < inputs.length; i++) {
    localStorage.setItem(inputs[i].name, inputs[i].value);
    console.log(inputs[i].name, inputs[i].value);
  }
}

function retrieve(){
  var inputs = form.elements;
  for (let i = 0; i < inputs.length; i++) {
    inputs[i].value = localStorage.getItem(inputs[i].name);
    console.log(inputs[i].value);
  }
}

retrieve();
  <form action="site2.html" onsubmit="store()">
        Enter your name: <input type="text" name="name" />
        Enter your age: <input type="text" name="age" />
        Fave thing: <select name="fave"><option>Bees</option><option>Jam</option></select>
        <input type="submit" value="submit" />
        </form>
1
Moob 27 Oktober 2019, 20:23