Lulus pembolehubah antara halaman HTML menggunakan JavaScript
P粉757432491
2023-08-21 22:08:28
<p>Saya mempunyai dua halaman - "Halaman 1" dan "Halaman 2". Pada halaman 1 terdapat kotak teks dengan nilai contohnya 100, dan butang. </p>
<p>Selepas menekan butang, saya mahu JavaScript menyimpan nilai kotak teks dalam pembolehubah global dan melompat ke halaman 2. Menggunakan "window.onload", saya mahu fungsi JavaScript kedua memaparkan nilai yang disimpan pada halaman 1. </p>
<p>Ini ialah kod JavaScript saya: </p>
<pre class="brush:php;toolbar:false;"><script type="text/javascript">
harga var; //Diisytiharkan di luar fungsi = pembolehubah global?
fungsi jimat_harga(){
alert("started_1"); //Untuk rujukan sahaja
harga = document.getElementById('the_id_of_the_textbox').value;
alert(price); //untuk rujukan sahaja
}</pre>
<pre class="brush:php;toolbar:false;"><script type="text/javascript">
fungsi read_price(){
makluman("mula_2");
makluman(harga);
}</pre>
<p>Pada "Halaman 1" saya mempunyai butang hantar: </p>
<pre class="brush:php;toolbar:false;"><input class="button_send" id="button_send" type="submit" value="Submit_price" onclick="save_price();"/> ;</pra>
<p>Ia menghidupkan fungsi JavaScript dan mengubah hala saya ke halaman 2 saya dengan betul. </p>
<p>Tetapi pada halaman kedua: </p>
<pre class="brush:php;toolbar:false;">window.onload=read_price();</pre>
<p>Saya sentiasa mendapat nilai "tidak ditentukan" untuk harga pembolehubah global. </p>
<p>Saya telah banyak membaca tentang pembolehubah global ini. Contohnya pada halaman ini: Masalah dengan pembolehubah global.. Tetapi saya tidak dapat membuatnya berfungsi...</p>
<p>Mengapa ini tidak berfungsi? </p>
Pilihan terbaik anda di sini ialah menggunakan rentetan pertanyaan untuk "menghantar" nilai.
Bagaimana untuk mendapatkan nilai rentetan pertanyaan menggunakan JavaScript
Jika ini lebih daripada sekadar latihan pembelajaran, anda mungkin ingin mempertimbangkan keselamatan melakukan ini.
Pembolehubah global tidak akan membantu anda di sini kerana ia akan dimusnahkan sebaik sahaja halaman dimuatkan semula.
Tanpa membaca kod anda, hanya senario anda, saya akan gunakan
localStorage
untuk menyelesaikannya. Berikut ialah contoh yang saya akan gunakanprompt()
untuk memudahkan.Di muka surat 1:
Di muka surat 2:
Anda juga boleh menggunakan kuki, tetapi localStorage membenarkan lebih banyak ruang dan tidak menghantarnya kembali ke pelayan apabila halaman diminta.