Hướng dẫn how do you pass a variable from one html to another in html? - làm cách nào để bạn chuyển một biến từ html này sang html khác trong html?

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:

<script type="text/javascript">

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         
}
<script type="text/javascript">

function read_price(){

    alert("started_2");

    alert(price);

}

Trên "Trang 1", tôi có bản tin này với:

<input class="button_send" id="button_send" type="submit" value="Submit_price" onclick="save_price();"/>

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)
link
and the second way is to do it through JavaScript:
window.location.href = “/second_page.html?greeting=hello”;
(this will have the same effect as if you clicked the link)

Cách đơn giản hơn để làm điều đó là bằng cách thêm nó vào liên kết là tốt khi bạn có các giá trị tĩnh. Nhưng trong trường hợp các biến tùy chọn duy nhất của bạn là JavaScript.

Và sau đó tất cả những gì bạn phải làm trên trang thứ hai chỉ là đọc các giá trị từ các tham số URL.

Thêm chi tiết

Nếu bạn muốn truyền toàn bộ đối tượng thì làm như vậy thông qua các tham số URL có thể không thực tế.

Cũng không quên rằng có giới hạn 2000 ký tự trên kích thước URL. Điều đó có nghĩa là lượng dữ liệu bạn có thể truyền qua URL rất hạn chế.

Vì vậy, trong trường hợp đó, tốt nhất là sử dụng đối tượng LocalStorage đã có sẵn trong trình duyệt của bạn.localStorage object that is already available in your browser.

Vậy LocalStorage là gì?localStorage?

Đây chỉ đơn giản là một đối tượng mà bạn có thể truy cập từ bất kỳ trang nào trên trang web của mình.

Điều tuyệt vời về nó là bất kỳ giá trị nào bạn lưu vào LocalStorage, những giá trị đó ngay lập tức có sẵn cho tất cả các trang của bạn.localStorage, those values are immediately available to all of your pages.

Vì vậy, nó không quan trọng nếu bạn đi từ trang này sang trang khác bởi vì mọi thứ bạn lưu trữ trong địa phương tiếp tục theo dõi bạn xung quanh.localStorage keeps following you around.

Dưới đây là ví dụ đơn giản cách bạn có thể sử dụng nó trên trang web của mình:

Quan trọng: Có một điều khó khăn về địa phương: nó sẽ không lưu các đối tượng.:
There is one tricky thing about localStorage: it will not save objects.

Những gì bạn cần làm là biến đối tượng của bạn thành chuỗi JSON và lưu nó như thế vào LocalStorage. Và sau đó khi bạn muốn sử dụng nó trên một số trang khác, bạn có thể chuyển đổi nó thành đối tượng thông thường.localStorage. And then when you want to use it on some other page you can transform it back to regular object.

Đây là cách bạn biến đối tượng thành chuỗi: json.Stringify (myObject);
JSON.stringify(myObject);

Đây là cách bạn quay chuỗi trở lại đối tượng: json.parse (myObjectString);
JSON.parse(myObjectString);

Và đây là một số ví dụ về mã thực tế:

Và nếu bạn muốn xóa tất cả dữ liệu khỏi LocalStorage thì hãy làm điều này: LocalStorage.clear ();localStorage then do this:
localStorage.clear();

Và đây thực sự là tất cả những gì có giá trị chuyển từ trang HTML này sang trang khác bằng JavaScript.

Ngoài ra, bạn có thể thích các bài viết về JavaScript IMG onclick các sự kiện, cũng như giá trị mặc định đầu vào HTML và TextArea.

Cho đến lần sau, nhà văn nội dung nhà phát triển Willsenior
Will
Senior Developer Content Writer

==> FYI - Nếu bạn muốn xây dựng một startup với tỷ lệ thành công cao - sau đó tìm hiểu cách nhận lưu lượng truy cập web miễn phí đến trang web của bạn. Bởi vì không có lưu lượng truy cập web, bạn không có một công ty khởi nghiệp - bạn có một giấc mơ. — if you want to build a startup with high success rate — then learn how to get FREE web traffic to your website. Because without web traffic you don’t have a startup — you have a dream.

Có hai cách để vượt qua các biến giữa các trang web. Phương pháp đầu tiên là sử dụng sessionStorage hoặc localStorage. Phương pháp thứ hai là sử dụng chuỗi truy vấn & nbsp; với URL.

sessionStorage hoặc localStorage:

// This goes in the first web page:
// favoriteMovie is the sessionStorage variable name
// Shrek is the variable string value
sessionStorage.setItem("favoriteMovie", "Shrek");
 
// This goes in the second web page:
// Retrieve the sessionStorage variable
var favoriteMovie = sessionStorage.getItem('favoriteMovie');

Ví dụ 1:

JavaScript trong trang 1:

var favoritemovie = "Shrek";
sessionStorage.setItem("favoriteMovie", favoritemovie);

JavaScript trong trang 2:

var favoritemovie = sessionStorage.getItem("favoriteMovie");
console.log(favoritemovie);

In kết quả này trong bảng điều khiển: Shrek
Shrek

Ví dụ 2:

Bạn có thể chuyển một mảng từ trang này sang trang khác bằng cách chuyển đổi mảng thành một chuỗi trước khi lưu sang một biến trong sessionStorage.

Mảng JavaScript trong trang 1:

jsarray = ["cat", "dog", "tiger", "wolf"];
sessionStorage.setItem("jsArray", JSON.stringify(jsarray));

// JSON.stringify(jsArray) converts the jsArray into a string which can be stored in sessionStorage

Mảng JavaScript trong trang 2:

jsarray = JSON.parse(sessionStorage.getItem("jsArray"));

// the javascript array jsarray is now in Page 2 as ['cat', 'dog', 'tiger', 'wolf']

Phương pháp 2

Tất nhiên có một cách khác để làm điều đó ...

Chuyển một chuỗi dưới dạng tham số.

Example:

<a href="filename.html?data1|data2|data3">Go to filename</a>

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,
use: var queryString = location.search.substring(1);

Biến & nbsp; queryString & nbsp; hiện có giá trị & nbsp; "data1 | data2 | data3".

Để 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"

Làm thế nào truyền dữ liệu từ HTML này sang HTML khác trong HTML?

Thuộc tính phương thức chỉ định cách gửi dữ liệu biểu mẫu (dữ liệu biểu mẫu được gửi đến trang được chỉ định trong thuộc tính hành động).Dữ liệu biểu mẫu có thể được gửi dưới dạng các biến URL (với Phương thức = "get") hoặc dưới dạng giao dịch bài HTTP (với Phương thức = "Post").Ghi chú trên GET: Bổ số dữ liệu mẫu vào URL trong các cặp tên/giá trị. (the form-data is sent to the page specified in the action attribute). The form-data can be sent as URL variables (with method="get" ) or as HTTP post transaction (with method="post" ). Notes on GET: Appends form-data into the URL in name/value pairs.

Bạn có thể gán các biến trong HTML không?

Sử dụng thẻ trong HTML để thêm một biến.Thẻ HTML được sử dụng để định dạng văn bản trong tài liệu.Nó có thể bao gồm một biến trong một biểu thức toán học.. The HTML tag is used to format text in a document. It can include a variable in a mathematical expression.