Tôi có hai trang - "Trang 1" và "Trang 2". Trên trang 1, có một hộp văn bản với giá trị, ví dụ: 100 và một nút ở cuối.
Bằng cách nhấn nút, tôi muốn JavaScript lưu giá trị của hộp văn bản trong biến toàn cầu [?] Và Nhảy đến trang 2. Với "window.onload" Tôi muốn một chức năng JavaScript thứ hai để cảnh báo giá trị được lưu tại trang1.
Đây là mã JavaScript của tôi:
var price; //declare outside the function = global variable ?
function save_price[]{
alert["started_1"]; //just for information
price = document.getElementById['the_id_of_the_textbox'].value;
alert[price]; //just for information
}
function read_price[]{
alert["started_2"];
alert[price];
}
Trên "Trang 1", tôi có bản tin này với:
Nó bắt đầu chức năng JavaScript và chuyển hướng tôi chính xác đến trang2 của tôi.
Nhưng với trang này, trang thứ hai:
window.onload=read_price[];
Tôi luôn nhận được một giá trị "không xác định" của giá biến toàn cầu.
Tôi đã đọc rất nhiều về các biến toàn cầu đó. Ví dụ. Ở trang này: Vấn đề với biến toàn cầu .. nhưng tôi không thể làm cho nó hoạt động ...
Tại sao cái này không hoạt động?
Hướng dẫn đơn giản về các giá trị truyền giữa các trang HTML sử dụng sức mạnh của JavaScript.
TL; Tóm tắt DR
Nếu bạn có các giá trị văn bản hoặc số đơn giản mà bạn muốn chuyển sang trang HTML khác thì nó đơn giản nhất để sử dụng các tham số URL để làm như vậy. [Xem phần tiếp theo để biết thêm chi tiết về cách truyền đối tượng, v.v.]
[see the
next section for more details on how to pass objects etc.]
Bạn có thể đặt các giá trị tham số URL theo hai cách.
Cách đầu tiên bạn có thể chuyển các giá trị từ trang này sang trang khác là thêm nó vào liên kết trực tiếp: Link và cách thứ hai là thực hiện thông qua javascript: window.location.href = sẽ có tác dụng tương tự như khi bạn nhấp vào liên kết] Khi nhấp vào FileName được nhấp, fileName.html được tải với chuỗi truy vấn "? Data1 | data2 | data3" được gắn vào tên tệp trong thanh địa chỉ. Để lấy chuỗi truy vấn thành các biến, sử dụng: var queryString & nbsp; = location.search.subString [1];?data1|data2|data3"
appended to the filename in the address bar. To get the query string into variables, Biến & nbsp; queryString & nbsp; hiện có giá trị & nbsp; "data1 | data2 | data3".
Go to filename
use: var queryString = location.search.substring[1];
Để chia chúng thành các biến riêng lẻ, hãy sử dụng Split:
var a = queryString.split ["|"]; // tạo ra một mảng // which creates an array
Sau đó lấy các giá trị ra khỏi mảng và đặt chúng thành các biến:
var value1 = a [0]; var value2 = a [1]; var value3 = a [2];a[0];
var value2
= a[1];
var value3 = a[2];
Bây giờ: value1 == "data1", value2 == "data2", value3 == "data3"
value1 == "data1", value2 == "data2", value3 == "data3"