From 904a5994c87295d84d25f869d5555f35fbce5070 Mon Sep 17 00:00:00 2001 From: Florian Merz Date: Thu, 11 Feb 2021 14:51:56 +0100 Subject: unslug vi: move --- .../how_does_the_internet_work/index.html | 97 ++++++++++++++++++++ .../internet_lam_viec_nh_the_nao/index.html | 97 -------------------- .../set_up_a_local_testing_server/index.html | 99 ++++++++++++++++++++ .../thiet_lap_web_mang_noi_bo/index.html | 99 -------------------- .../index.html | 83 ----------------- files/vi/learn/forms/index.html | 101 +++++++++++++++++++++ .../index.html" | 62 ------------- .../installing_basic_software/index.html | 62 +++++++++++++ files/vi/learn/html/forms/index.html | 101 --------------------- 9 files changed, 359 insertions(+), 442 deletions(-) create mode 100644 files/vi/learn/common_questions/how_does_the_internet_work/index.html delete mode 100644 files/vi/learn/common_questions/internet_lam_viec_nh_the_nao/index.html create mode 100644 files/vi/learn/common_questions/set_up_a_local_testing_server/index.html delete mode 100644 files/vi/learn/common_questions/thiet_lap_web_mang_noi_bo/index.html delete mode 100644 files/vi/learn/dong_gop_cho_khu_vuc_hoc_tap_tren_mdn/index.html create mode 100644 files/vi/learn/forms/index.html delete mode 100644 "files/vi/learn/getting_started_with_the_web/c\303\240i_\304\221\341\272\267t_c\303\241c_ph\341\272\247n_m\341\273\201m_c\306\241_b\341\272\243n/index.html" create mode 100644 files/vi/learn/getting_started_with_the_web/installing_basic_software/index.html delete mode 100644 files/vi/learn/html/forms/index.html (limited to 'files/vi/learn') diff --git a/files/vi/learn/common_questions/how_does_the_internet_work/index.html b/files/vi/learn/common_questions/how_does_the_internet_work/index.html new file mode 100644 index 0000000000..fb9abacd43 --- /dev/null +++ b/files/vi/learn/common_questions/how_does_the_internet_work/index.html @@ -0,0 +1,97 @@ +--- +title: Internet làm việc như thế nào? +slug: Learn/Common_questions/Internet_lam_viec_nh_the_nao +translation_of: Learn/Common_questions/How_does_the_Internet_work +--- +
{{LearnSidebar}}
+ +
+

Bài viết này giải thích Internet là gì và cách nó làm việc.

+
+ + + + + + + + + + + + +
Điều kiện tiên quyết:Không yêu cầu, nhưng chúng tôi khuyên bạn trước tiên nên đọc Bài viết nói về thiết lập các mục tiêu cho dự án.
Mục tiêu:Bạn sẽ học những khái niệm cơ bản về cơ sở hạ tầng của Web và sự khác giữa Internet với Web.
+ +

Tóm tắt

+ +

Internet là xương sống của Web, là cơ sở hạ tầng kỹ thuật làm cho Web tồn tại. Nói theo nghĩa cơ bản nhất, Internet là một mạng rất lớn bao gồm các máy tính có thể giao tiếp với nhau.

+ +

Lịch sử của Internet là một cái gì đó đen tối. Nó được bắt đầu từ những năm 1960 như một dự án nghiên cứu được tài trợ bởi quân đội Mỹ, sau đó đến những năm 1980, nó phát triển thành một hệ thống cơ sở hạ tầng công cộng với sự hỗ trợ của nhiều trường đại học công lập và các công ty tư nhân. Những kỹ thuật khác nhau đã giúp Internet tiến hóa vượt thời gian, nhưng cách nó làm việc thì vẫn không thay đổi nhiều: Internet là con đường để tất cả máy tính kết nối lại với nhau, và dù cho có chuyện gì xảy ra, các máy tính vẫn tìm thấy con đường khác để tiếp tục nối kết.

+ +

Học tập tích cực

+ + + +

Lặn sâu hơn

+ +

Một mạng đơn giản

+ +

Khi hai máy tính cần giao tiếp (liên lạc) với nhau, bạn sẽ phải liên kết chúng lại, hoặc bằng hình thức vật lý (thường dùng với một dây Cáp Ethernet - Ethernet cable) hoặc không dây (ví dụ như hệ thống WiFi hoặc Bluetooth). Những máy tính hiện đại ngày nay có thể chấp nhận tất cả kết nối trên.

+ +
+

Chú ý: Phần còn lại của bài viết này, chúng ta sẽ chỉ nói về hình thức kết nối dùng cáp vật lý, còn đối với các mạng không dây thì cách làm việc cũng tương tự.

+
+ +

Two computers linked together

+ +

Bởi vì một mạng sẽ không bị giới hạn bởi hai máy tính. Nên bạn có thể kết nối bao nhiêu máy tính tùy ý. Nhưng khi đó sẽ nhanh chóng phát sinh rắc rối. Nếu bạn thử kết nối 10 máy tính, giả sử vậy, thì bạn sẽ cần 45 sợi cáp, và 9 phích cắm trên mỗi máy tính!

+ +

Ten computers all together

+ +

Để giải quyết vấn đề này, mỗi máy tính trong mạng sẽ được kết nối vào một máy tính tí hon được gọi là bộ định tuyến - router. Bộ định tuyến sẽ làm công việc giống như người ra hiệu ở trạm xe lửa, nó đảm bảo rằng một thông điệp được gửi từ máy tính này sẽ đến đúng máy tính cần nhận. Giả sử để gửi một thông điệp đến máy B, máy A phải gửi thông điệp đó đến bộ định tuyến, rồi bộ định tuyến sẽ tiếp tục chuyển nó đến máy B và đồng thời đảm bảo chắc chắn thông điệp đó không bị gửi vào máy C.

+ +

Khi chúng ta thêm một bộ định tuyến vào hệ thống, mạng 10 máy tính sẽ chỉ cần 10 sợi dây cáp: vì mỗi máy tính chỉ cần một phích cắm và bộ định tuyến sẽ có 10 phích cắm.

+ +

Ten computers with a router

+ +

Mạng của các mạng

+ +

Vậy là mọi thứ đều ổn. Nhưng còn việc kết nối hàng trăm, hàng ngàn, hàng tỉ máy tính lại với nhau thì sao? Dĩ nhiên là một bộ định tuyến đơn lẻ sẽ không thể gánh vác được số lượng đó, nhưng mà, nếu bạn đọc phần trên một cách cẩn thận, sẽ thấy chúng tôi có nói bộ định tuyến cũng chính là một máy tính giống như các máy tính khác. Thế thì có điều gì cản trở việc kết nối trực tiếp hai bộ định tuyến với nhau không? Không, vậy thì chúng ta cứ kết nối chúng thôi.

+ +

Two routers linked together

+ +

Bằng việc kết nối các máy tính vào bộ định tuyến, rồi lại kết nối các bộ định tuyến với nhau, chúng ta có thể tạo ra một mạng vô tận.

+ +

Routers linked to routers

+ +

 

+ +

Một mạng như thế tiến rất gần đến thứ mà ta gọi là Internet, nhưng chúng ta đã bỏ sót vài thứ. Chúng ta xây dựng mạng máy tính đó cho mục đích riêng của mình. Còn có rất nhiều mạng máy tính khác ở ngoài kia: của những người bạn, của hàng xóm, và bất kỳ ai khác. Nhưng mà không thể nào thiết lập hàng đống đường dây cáp để kết nối nhà bạn với phần còn lại của thế giới, thế thì bạn sẽ xử lý vấn đề này như thế nào? May thay là đã có sẵn những đường dây cáp liên kết đến nhà bạn, ví dụ như, cáp điện và điện thoại. Cơ sở hạ tầng điện thoại đã kết nối nhà bạn đến với mọi người trên thế giới, thế nên nó là đường dây hoàn hảo mà chúng ta cần. Để kết nối mạng máy tính của bạn đến cơ sở hạ tầng điện thoại, cần một thiết bị nhỏ gọi là modem. Modem sẽ biến đổi thông tin từ mạng của chúng ta thành dạng thông tin có thể điều khiển được bằng cơ sở hạ tầng điện thoại và ngược lại.

+ +

A router linked to a modem

+ +

Vậy là chúng ta đã được kết nối vào cơ sở hạ tầng điện thoại. Bước tiếp theo là gửi thông điệp từ mạng của chúng ta sang mạng cần nhận. Để làm điều đó, mạng của chúng ta cần kết nối với Nhà cung cấp dịch vụ Internet (Internet Service Provider - ISP). ISP là một công ty chuyên quản lý các bộ định tuyến đặc biệt, các bộ định tuyến đó được kết nối lẫn nhau và có thể truy cập đến các bộ định tuyến của những ISP khác. Như vậy một thông điệp gửi đi từ mạng của bạn sẽ phải đi qua mạng của các mạng ở ISP, rồi mới tới mạng cần nhận. Internet bao gồm toàn bộ cơ sở hạ tầng của các mạng.

+ +

Full Internet stack

+ +

Tìm các máy tính

+ +

Nếu bạn muốn gửi một thông điệp đến một máy tính khác, thì phải chỉ định đích danh đó là máy tính nào. Do đó mà mỗi máy tính khi kết nối vào hệ thống mạng thì đều được gán một địa chỉ duy nhất để nhận dạng, gọi là địa chỉ IP (IP là viết tắt của Internet Protocol). IP là một dãy gồm bốn số được ngăn cách nhau bằng dấu chấm, ví dụ 192.168.2.10.

+ +

Điều đó đối với các máy tính là quá tốt, nhưng con người chúng ta sẽ gặp nhiều khó khăn để nhớ dãy số địa chỉ đó. Để làm mọi thứ dễ dàng hơn, chúng ta đặt bí danh cho địa chỉ IP, tức là một cái tên nào đó dễ nhớ đối với con người, mà theo chuyên ngành người ta gọi là tên miền - domain name. Ví dụ google.com là tên miền đại diện cho địa chỉ IP 173.194.121.32. Như vậy, sử dụng tên miền là phương pháp dễ nhất để chúng ta chạm đến một máy tính khác trên Internet.

+ +

Show how a domain name can alias an IP address

+ +

Internet và web

+ +

Như bạn có thể nhận thấy, khi chúng ta duyệt Web với một trình duyệt web, chúng ta thường sử dụng tên miền để chạm đến trang web đó. Nghĩa là Internet và Web giống nhau? Không đơn giản thế. Như chúng ta đã xem qua, Internet là một cơ sở hạ tầng kỹ thuật cho phép hàng tỉ máy tính kết nối với nhau. Trong số những máy tính đó, có một số máy (được gọi là máy chủ Web - Web server) có thể gửi các thông điệp dễ hiểu đến trình duyệt web. Internet là một hệ thống cơ sở hạ tầng, ngược lạiWeb là một dịch vụ được xây dựng ở mặt trên (phần ngọn) của cơ sở hạ tầng. Phải nên nhớ rằng có những dịch vụ khác cũng được xây dựng ở mặt trên của Internet, như là email và {{Glossary("IRC")}}.

+ +

Bước tiếp theo

+ + diff --git a/files/vi/learn/common_questions/internet_lam_viec_nh_the_nao/index.html b/files/vi/learn/common_questions/internet_lam_viec_nh_the_nao/index.html deleted file mode 100644 index fb9abacd43..0000000000 --- a/files/vi/learn/common_questions/internet_lam_viec_nh_the_nao/index.html +++ /dev/null @@ -1,97 +0,0 @@ ---- -title: Internet làm việc như thế nào? -slug: Learn/Common_questions/Internet_lam_viec_nh_the_nao -translation_of: Learn/Common_questions/How_does_the_Internet_work ---- -
{{LearnSidebar}}
- -
-

Bài viết này giải thích Internet là gì và cách nó làm việc.

-
- - - - - - - - - - - - -
Điều kiện tiên quyết:Không yêu cầu, nhưng chúng tôi khuyên bạn trước tiên nên đọc Bài viết nói về thiết lập các mục tiêu cho dự án.
Mục tiêu:Bạn sẽ học những khái niệm cơ bản về cơ sở hạ tầng của Web và sự khác giữa Internet với Web.
- -

Tóm tắt

- -

Internet là xương sống của Web, là cơ sở hạ tầng kỹ thuật làm cho Web tồn tại. Nói theo nghĩa cơ bản nhất, Internet là một mạng rất lớn bao gồm các máy tính có thể giao tiếp với nhau.

- -

Lịch sử của Internet là một cái gì đó đen tối. Nó được bắt đầu từ những năm 1960 như một dự án nghiên cứu được tài trợ bởi quân đội Mỹ, sau đó đến những năm 1980, nó phát triển thành một hệ thống cơ sở hạ tầng công cộng với sự hỗ trợ của nhiều trường đại học công lập và các công ty tư nhân. Những kỹ thuật khác nhau đã giúp Internet tiến hóa vượt thời gian, nhưng cách nó làm việc thì vẫn không thay đổi nhiều: Internet là con đường để tất cả máy tính kết nối lại với nhau, và dù cho có chuyện gì xảy ra, các máy tính vẫn tìm thấy con đường khác để tiếp tục nối kết.

- -

Học tập tích cực

- - - -

Lặn sâu hơn

- -

Một mạng đơn giản

- -

Khi hai máy tính cần giao tiếp (liên lạc) với nhau, bạn sẽ phải liên kết chúng lại, hoặc bằng hình thức vật lý (thường dùng với một dây Cáp Ethernet - Ethernet cable) hoặc không dây (ví dụ như hệ thống WiFi hoặc Bluetooth). Những máy tính hiện đại ngày nay có thể chấp nhận tất cả kết nối trên.

- -
-

Chú ý: Phần còn lại của bài viết này, chúng ta sẽ chỉ nói về hình thức kết nối dùng cáp vật lý, còn đối với các mạng không dây thì cách làm việc cũng tương tự.

-
- -

Two computers linked together

- -

Bởi vì một mạng sẽ không bị giới hạn bởi hai máy tính. Nên bạn có thể kết nối bao nhiêu máy tính tùy ý. Nhưng khi đó sẽ nhanh chóng phát sinh rắc rối. Nếu bạn thử kết nối 10 máy tính, giả sử vậy, thì bạn sẽ cần 45 sợi cáp, và 9 phích cắm trên mỗi máy tính!

- -

Ten computers all together

- -

Để giải quyết vấn đề này, mỗi máy tính trong mạng sẽ được kết nối vào một máy tính tí hon được gọi là bộ định tuyến - router. Bộ định tuyến sẽ làm công việc giống như người ra hiệu ở trạm xe lửa, nó đảm bảo rằng một thông điệp được gửi từ máy tính này sẽ đến đúng máy tính cần nhận. Giả sử để gửi một thông điệp đến máy B, máy A phải gửi thông điệp đó đến bộ định tuyến, rồi bộ định tuyến sẽ tiếp tục chuyển nó đến máy B và đồng thời đảm bảo chắc chắn thông điệp đó không bị gửi vào máy C.

- -

Khi chúng ta thêm một bộ định tuyến vào hệ thống, mạng 10 máy tính sẽ chỉ cần 10 sợi dây cáp: vì mỗi máy tính chỉ cần một phích cắm và bộ định tuyến sẽ có 10 phích cắm.

- -

Ten computers with a router

- -

Mạng của các mạng

- -

Vậy là mọi thứ đều ổn. Nhưng còn việc kết nối hàng trăm, hàng ngàn, hàng tỉ máy tính lại với nhau thì sao? Dĩ nhiên là một bộ định tuyến đơn lẻ sẽ không thể gánh vác được số lượng đó, nhưng mà, nếu bạn đọc phần trên một cách cẩn thận, sẽ thấy chúng tôi có nói bộ định tuyến cũng chính là một máy tính giống như các máy tính khác. Thế thì có điều gì cản trở việc kết nối trực tiếp hai bộ định tuyến với nhau không? Không, vậy thì chúng ta cứ kết nối chúng thôi.

- -

Two routers linked together

- -

Bằng việc kết nối các máy tính vào bộ định tuyến, rồi lại kết nối các bộ định tuyến với nhau, chúng ta có thể tạo ra một mạng vô tận.

- -

Routers linked to routers

- -

 

- -

Một mạng như thế tiến rất gần đến thứ mà ta gọi là Internet, nhưng chúng ta đã bỏ sót vài thứ. Chúng ta xây dựng mạng máy tính đó cho mục đích riêng của mình. Còn có rất nhiều mạng máy tính khác ở ngoài kia: của những người bạn, của hàng xóm, và bất kỳ ai khác. Nhưng mà không thể nào thiết lập hàng đống đường dây cáp để kết nối nhà bạn với phần còn lại của thế giới, thế thì bạn sẽ xử lý vấn đề này như thế nào? May thay là đã có sẵn những đường dây cáp liên kết đến nhà bạn, ví dụ như, cáp điện và điện thoại. Cơ sở hạ tầng điện thoại đã kết nối nhà bạn đến với mọi người trên thế giới, thế nên nó là đường dây hoàn hảo mà chúng ta cần. Để kết nối mạng máy tính của bạn đến cơ sở hạ tầng điện thoại, cần một thiết bị nhỏ gọi là modem. Modem sẽ biến đổi thông tin từ mạng của chúng ta thành dạng thông tin có thể điều khiển được bằng cơ sở hạ tầng điện thoại và ngược lại.

- -

A router linked to a modem

- -

Vậy là chúng ta đã được kết nối vào cơ sở hạ tầng điện thoại. Bước tiếp theo là gửi thông điệp từ mạng của chúng ta sang mạng cần nhận. Để làm điều đó, mạng của chúng ta cần kết nối với Nhà cung cấp dịch vụ Internet (Internet Service Provider - ISP). ISP là một công ty chuyên quản lý các bộ định tuyến đặc biệt, các bộ định tuyến đó được kết nối lẫn nhau và có thể truy cập đến các bộ định tuyến của những ISP khác. Như vậy một thông điệp gửi đi từ mạng của bạn sẽ phải đi qua mạng của các mạng ở ISP, rồi mới tới mạng cần nhận. Internet bao gồm toàn bộ cơ sở hạ tầng của các mạng.

- -

Full Internet stack

- -

Tìm các máy tính

- -

Nếu bạn muốn gửi một thông điệp đến một máy tính khác, thì phải chỉ định đích danh đó là máy tính nào. Do đó mà mỗi máy tính khi kết nối vào hệ thống mạng thì đều được gán một địa chỉ duy nhất để nhận dạng, gọi là địa chỉ IP (IP là viết tắt của Internet Protocol). IP là một dãy gồm bốn số được ngăn cách nhau bằng dấu chấm, ví dụ 192.168.2.10.

- -

Điều đó đối với các máy tính là quá tốt, nhưng con người chúng ta sẽ gặp nhiều khó khăn để nhớ dãy số địa chỉ đó. Để làm mọi thứ dễ dàng hơn, chúng ta đặt bí danh cho địa chỉ IP, tức là một cái tên nào đó dễ nhớ đối với con người, mà theo chuyên ngành người ta gọi là tên miền - domain name. Ví dụ google.com là tên miền đại diện cho địa chỉ IP 173.194.121.32. Như vậy, sử dụng tên miền là phương pháp dễ nhất để chúng ta chạm đến một máy tính khác trên Internet.

- -

Show how a domain name can alias an IP address

- -

Internet và web

- -

Như bạn có thể nhận thấy, khi chúng ta duyệt Web với một trình duyệt web, chúng ta thường sử dụng tên miền để chạm đến trang web đó. Nghĩa là Internet và Web giống nhau? Không đơn giản thế. Như chúng ta đã xem qua, Internet là một cơ sở hạ tầng kỹ thuật cho phép hàng tỉ máy tính kết nối với nhau. Trong số những máy tính đó, có một số máy (được gọi là máy chủ Web - Web server) có thể gửi các thông điệp dễ hiểu đến trình duyệt web. Internet là một hệ thống cơ sở hạ tầng, ngược lạiWeb là một dịch vụ được xây dựng ở mặt trên (phần ngọn) của cơ sở hạ tầng. Phải nên nhớ rằng có những dịch vụ khác cũng được xây dựng ở mặt trên của Internet, như là email và {{Glossary("IRC")}}.

- -

Bước tiếp theo

- - diff --git a/files/vi/learn/common_questions/set_up_a_local_testing_server/index.html b/files/vi/learn/common_questions/set_up_a_local_testing_server/index.html new file mode 100644 index 0000000000..187215c53c --- /dev/null +++ b/files/vi/learn/common_questions/set_up_a_local_testing_server/index.html @@ -0,0 +1,99 @@ +--- +title: Làm sao để thiết lập web mạng nội bộ? +slug: Learn/Common_questions/thiet_lap_web_mang_noi_bo +translation_of: Learn/Common_questions/set_up_a_local_testing_server +--- +
+

 

+ +

Bài viết này sẽ giải thích làm thế nào để thiết lập web mạng nội bộ cơ bản trên máy tính của bạn và những điều cơ bản về cách sử dụng nó.

+ +

 

+
+ + + + + + + + + + + + +
Yêu Cầu:Bạn cần phải biết Internet hoạt động thế nào, và Web Server là gì
Mục Tiêu:Bạn sẽ biết cách thiết lập máy chủ nội bộ. 
+ +

Tập tin cục bộ (local) và Tập tin từ xa (remote)

+ +

Khắp những nơi học, chúng tôi bảo bạn mở những ví dụ trực tiếp trong một trình duyệt - điều này có thể được thực hiện bằng cách click đúp vào file HTML, kéo và thả nó vào trong cửa sổ trình duyệt, hoặc chọn File > Open... và chuyển hướng tới file HTML. Có rất nhiều cách để làm được điều này.

+ +

Nếu đường dẫn web bắt đầu với file://, tiếp theo bởi đường dẫn tới file của bạn trên ổ đĩa cục bộ thì một tập tin cục bộ đang được sử dụng. Ngược lại, nếu bạn xem một trong những ví dụ của chúng tôi trên Github (hoặc một ví dụ trên một máy chủ từ xa khác), địa chỉ web sẽ bắt đầu với http:// hoặchttps://, để cho thấy rằng file đó đã được nhận thông qua HTTP.

+ +

Những vấn đề trong việc thử nghiệm những tập tin cục bộ

+ +

Một số ví dụ sẽ không chạy nếu bạn mở chúng như những tệp tin cục bộ. Vấn  đề này có thể do nhiều lí do, những lí do có khả năng nhất như:

+ + + +

Running a simple local HTTP server

+ +

To get around the problem of async requests, we need to test such examples by running them through a local web server. One of the easiest ways to do this for our purposes is to use Python's SimpleHTTPServer module.

+ +

To do this:

+ +
    +
  1. +

    Install Python. If you are using Linux or Mac OS X, it should be available on your system already. If you are a Windows user, you can get an installer from the Python homepage and follow the instructions to install it:

    + +
      +
    • Go to python.org
    • +
    • Under the Download section, click the link for Python "3.xxx".
    • +
    • At the bottom of the page, choose the Windows x86 executable installer and download it.
    • +
    • When it has downloaded, run it.
    • +
    • On the first installer page, make sure you check the "Add Python 3.xxx to PATH" checkbox.
    • +
    • Click Install, then click Close when the installation has finished.
    • +
    +
  2. +
  3. +

    Open your command prompt (Windows)/terminal (OS X/Linux). To check Python is installed, enter the following command:

    + +
    python -V
    +
  4. +
  5. +

    This should return a version number. If this is OK, navigate to the directory that your example is inside, using the cd command.

    + +
    # include the directory name to enter it, for example
    +cd Desktop
    +# use two dots to jump up one directory level if you need to
    +cd ..
    +
  6. +
  7. +

    Enter the command to start up the server in that directory:

    + +
    # If Python version returned above is 3.X
    +python -m http.server
    +# If Python version returned above is 2.X
    +python -m SimpleHTTPServer
    +
  8. +
  9. +

    By default, this will run the contents of the directory on a local web server, on port 8000. You can go to this server by going to the URL localhost:8000 in your web browser. Here you'll see the contents of the directory listed — click the HTML file you want to run.

    +
  10. +
+ +
+

Note: If you already have something running on port 8000, you can choose another port by running the server command followed by an alternative port number, e.g. python -m http.server 7800 (Python 3.x) or python -m SimpleHTTPServer 7800 (Python 2.x). You can then access your content at localhost:7800.

+
+ +

Running server-side languages locally

+ +

Python's SimpleHTTPServer (python 2.0) http.server (python 3.0) module is useful, but it doesn't know how to run code written in languages such as PHP or Python. To handle that you'll need something more — exactly what you'll need depends on the server-side language you are trying to run. Here are a few examples:

+ + diff --git a/files/vi/learn/common_questions/thiet_lap_web_mang_noi_bo/index.html b/files/vi/learn/common_questions/thiet_lap_web_mang_noi_bo/index.html deleted file mode 100644 index 187215c53c..0000000000 --- a/files/vi/learn/common_questions/thiet_lap_web_mang_noi_bo/index.html +++ /dev/null @@ -1,99 +0,0 @@ ---- -title: Làm sao để thiết lập web mạng nội bộ? -slug: Learn/Common_questions/thiet_lap_web_mang_noi_bo -translation_of: Learn/Common_questions/set_up_a_local_testing_server ---- -
-

 

- -

Bài viết này sẽ giải thích làm thế nào để thiết lập web mạng nội bộ cơ bản trên máy tính của bạn và những điều cơ bản về cách sử dụng nó.

- -

 

-
- - - - - - - - - - - - -
Yêu Cầu:Bạn cần phải biết Internet hoạt động thế nào, và Web Server là gì
Mục Tiêu:Bạn sẽ biết cách thiết lập máy chủ nội bộ. 
- -

Tập tin cục bộ (local) và Tập tin từ xa (remote)

- -

Khắp những nơi học, chúng tôi bảo bạn mở những ví dụ trực tiếp trong một trình duyệt - điều này có thể được thực hiện bằng cách click đúp vào file HTML, kéo và thả nó vào trong cửa sổ trình duyệt, hoặc chọn File > Open... và chuyển hướng tới file HTML. Có rất nhiều cách để làm được điều này.

- -

Nếu đường dẫn web bắt đầu với file://, tiếp theo bởi đường dẫn tới file của bạn trên ổ đĩa cục bộ thì một tập tin cục bộ đang được sử dụng. Ngược lại, nếu bạn xem một trong những ví dụ của chúng tôi trên Github (hoặc một ví dụ trên một máy chủ từ xa khác), địa chỉ web sẽ bắt đầu với http:// hoặchttps://, để cho thấy rằng file đó đã được nhận thông qua HTTP.

- -

Những vấn đề trong việc thử nghiệm những tập tin cục bộ

- -

Một số ví dụ sẽ không chạy nếu bạn mở chúng như những tệp tin cục bộ. Vấn  đề này có thể do nhiều lí do, những lí do có khả năng nhất như:

- - - -

Running a simple local HTTP server

- -

To get around the problem of async requests, we need to test such examples by running them through a local web server. One of the easiest ways to do this for our purposes is to use Python's SimpleHTTPServer module.

- -

To do this:

- -
    -
  1. -

    Install Python. If you are using Linux or Mac OS X, it should be available on your system already. If you are a Windows user, you can get an installer from the Python homepage and follow the instructions to install it:

    - -
      -
    • Go to python.org
    • -
    • Under the Download section, click the link for Python "3.xxx".
    • -
    • At the bottom of the page, choose the Windows x86 executable installer and download it.
    • -
    • When it has downloaded, run it.
    • -
    • On the first installer page, make sure you check the "Add Python 3.xxx to PATH" checkbox.
    • -
    • Click Install, then click Close when the installation has finished.
    • -
    -
  2. -
  3. -

    Open your command prompt (Windows)/terminal (OS X/Linux). To check Python is installed, enter the following command:

    - -
    python -V
    -
  4. -
  5. -

    This should return a version number. If this is OK, navigate to the directory that your example is inside, using the cd command.

    - -
    # include the directory name to enter it, for example
    -cd Desktop
    -# use two dots to jump up one directory level if you need to
    -cd ..
    -
  6. -
  7. -

    Enter the command to start up the server in that directory:

    - -
    # If Python version returned above is 3.X
    -python -m http.server
    -# If Python version returned above is 2.X
    -python -m SimpleHTTPServer
    -
  8. -
  9. -

    By default, this will run the contents of the directory on a local web server, on port 8000. You can go to this server by going to the URL localhost:8000 in your web browser. Here you'll see the contents of the directory listed — click the HTML file you want to run.

    -
  10. -
- -
-

Note: If you already have something running on port 8000, you can choose another port by running the server command followed by an alternative port number, e.g. python -m http.server 7800 (Python 3.x) or python -m SimpleHTTPServer 7800 (Python 2.x). You can then access your content at localhost:7800.

-
- -

Running server-side languages locally

- -

Python's SimpleHTTPServer (python 2.0) http.server (python 3.0) module is useful, but it doesn't know how to run code written in languages such as PHP or Python. To handle that you'll need something more — exactly what you'll need depends on the server-side language you are trying to run. Here are a few examples:

- - diff --git a/files/vi/learn/dong_gop_cho_khu_vuc_hoc_tap_tren_mdn/index.html b/files/vi/learn/dong_gop_cho_khu_vuc_hoc_tap_tren_mdn/index.html deleted file mode 100644 index ca0f73fbc1..0000000000 --- a/files/vi/learn/dong_gop_cho_khu_vuc_hoc_tap_tren_mdn/index.html +++ /dev/null @@ -1,83 +0,0 @@ ---- -title: Cách đóng góp cho Khu vực học tập trên MDN -slug: Learn/Dong_gop_cho_khu_vuc_hoc_tap_tren_MDN -translation_of: Learn/How_to_contribute ---- -
{{LearnSidebar}}
- -

Nếu bạn đang ở đây lần đầu tiên hoặc sau khi tìm kiếm sâu, có thể là vì bạn quan tâm đến việc đóng góp cho Khu vực học tập MDN. Tin tốt đấy!

- -

Trên trang này, bạn sẽ tìm thấy mọi thứ bạn cần để bắt đầu giúp cải thiện nội dung học tập của MDN. Có rất nhiều thứ bạn có thể làm, tùy thuộc vào bạn có bao nhiêu thời gian và bạn là người mới bắt đầu, nhà phát triển web hoặc giáo viên.

- -
-

Lưu ý: Bạn có thể tìm thấy hướng dẫn để viết bài viết về khu vực học tập mới tại Cách viết bài viết để giúp mọi người tìm hiểu về Web.

-
- -

Tìm các tác vụ cụ thể

- -

A common way that people contribute to the Learning Area is to read the articles, fix typos, and suggest improvements. We also welcome you to add examples to our GitHub repo, and get in touch with us if you want to ask what else needs to be done.

- -

Contributing is a great way to have some fun while learning new stuff. If you ever feel lost or have questions, don't hesitate to reach us on the Learning Area Discourse thread or IRC channel (see at the bottom of this page for details). Chris Mills is the topic driver for the Learning Area — you could also try pinging him directly.

- -

The following sections provide some general ideas of the types of tasks you can do.

- -

I'm a beginner

- -

That's awesome! Beginners are very important and valuable for creating and giving feedback on learning material. You have a unique perspective on these articles as a member of their target audience, which can make you an invaluable member of our team. Indeed, if you're using one of our articles to learn something and you get stuck, or find the article confusing in some way, you can either fix it or let us know about the problem so we can be sure it gets fixed.

- -

Here are some suggested ways you can contribute:

- -
-
Add tags to our articles (5 min)
-
Tagging MDN content is one of the easiest ways to contribute to MDN. As many of our features use tags to help present information in context, helping with tagging is a very valuable contribution. Take a look at the lists of glossary entries and learning articles without any tags to get started.
-
Read and review a glossary entry (5 min)
-
As a beginner, we need your fresh eyes looking at our content. If you find a glossary entry hard to understand, it means that entry needs to be improved. Feel free to make any changes you think are necessary. If you do not think you have the proper skill to edit the entry yourself, at least tell us on our mailing list.
-
Write a new glossary entry (20 minutes)
-
This is the most effective way to learn something new. Pick a concept you want to understand, and as you learn about it, write a glossary entry about it. Explaining something to others is a great way to "cement" the knowledge in your brain, and to help you make sense of things yourself, all while helping other people. Everybody wins!
-
Read and review a learning article (2 hours)
-
This is very much like reviewing glossary entries (see above); it just takes more time, since these articles are typically quite a bit longer.
-
- -

I'm a web developer

- -

Fantastic! Your technical skills are just what we need to be sure we provide technically accurate content for beginners. As this specific part of MDN is dedicated to learning the Web, be sure your explanations are as simple as possible, without being so simple that they're not useful. It's more important to be understandable than to be overly precise.

- -
-
Read and review a glossary entry (5 min)
-
As a web developer, we need you to make sure our content is technically accurate without being too pedantic. Feel free to make any changes you think are necessary. If you want to discuss the content before editing, ping us on our mailing list or IRC channel.
-
Write a new glossary entry (20 minutes)
-
Clarifying technical jargon is a very good way to learn and be both technically accurate and simple. Beginners will thank you for that. We have many undefined terms which need your attention. Pick one and you're good to go.
-
Read and review a learning article (2 hours)
-
This is the same thing as reviewing a glossary entry (see above); it just takes a bit more time as those articles are quite a bit longer.
-
Write a new learning article (4 hours or more)
-
MDN is lacking simple straightforward articles about using web technologies (HTML, CSS, JavaScript, etc). We also have old content on MDN that deserves to be reviewed and reshaped. Push your skills to the limit to make web technologies usable even by beginners.
-
Create exercises, code samples or interactive learning tools (? hours)
-
All our learning articles require what we call "active learning" materials, because people learn best by doing something themselves. Such materials are exercises or interactive content that help a user to apply and manipulate the concepts detailed in an article. There are many possible ways to make active learning content, from creating code samples with JSFiddle or similar, to building fully hackable interactive content with Thimble. Unleash your creativity!
-
- -

I'm a teacher

- -

MDN has a long history of technical excellence, but we lack depth of understanding of the best way to teach concepts to newcomers. This is where we need you, as a teacher or educator. You can help us ensure that our materials provide a good, practical educational track for our readers.

- -
-
Read and review a glossary entry (15 min)
-
Check out a glossary entry and feel free to make any changes you think are necessary. If you want to discuss the content before editing, ping us on our mailing list or IRC channel.
-
Write a new glossary entry (1 hour)
-
Clear, simple definitions of terms and basic overviews of concepts in the glossary are critical in meeting beginners' needs. Your experience as an educator can help create excellent glossary entries; we have many undefined terms which need your attention. Pick one and go for it.
-
Add illustrations and/or schematics to articles (1 hour)
-
As you might know, illustrations are an invaluable part of any learning content. This is something we often lack on MDN and your skills can make a difference in that area. Check out the articles that lack illustrative content and pick one you'd like to create graphics for.
-
Read and review a learning article (2 hours)
-
This is similar to reviewing glossary entries (see above), but it requires more time since the articles are typically quite a bit longer.
-
Write a new learning article (4 hours)
-
We need simple, straightforward articles about the Web ecosystem and other functional topics around it. Since these learning articles need to be educational rather than trying to literally cover everything there is to know, your experience in knowing what to cover and how will be a great asset.
-
Create exercises, quizzes or interactive learning tools (? hours)
-
All our learning articles require "active learning" materials. Such materials are exercises or interactive content which help a user learn to use and expand upon the concepts detailed in an article. There are lots of things you can do here, from creating quizzes to building fully hackable interactive content with Thimble. Unleash your creativity!
-
Create learning pathways (? hours)
-
In order to provide progressive and comprehensible tutorials, we need to shape our content into pathways. It's a way to gather existing content and figure out what is missing to create a learning article to write.
-
- -

See also

- - diff --git a/files/vi/learn/forms/index.html b/files/vi/learn/forms/index.html new file mode 100644 index 0000000000..5b0215a43c --- /dev/null +++ b/files/vi/learn/forms/index.html @@ -0,0 +1,101 @@ +--- +title: HTML forms +slug: Learn/HTML/Forms +tags: + - Beginner + - Featured + - Forms + - Guide + - HTML + - Landing + - Learn + - NeedsTranslation + - TopicStub + - Web +translation_of: Learn/Forms +--- +
{{LearnSidebar}}
+ +

This module provides a series of articles that will help you master HTML forms. HTML forms are a very powerful tool for interacting with users; however, for historical and technical reasons, it's not always obvious how to use them to their full potential. In this guide, we'll cover all aspects of HTML forms, from structure to styling, from data handling to custom widgets.

+ +

Prerequisites

+ +

Before starting this module, you should at least work through our Introduction to HTML. At this point you should find the {{anch("Basic guides")}} easy to understand, and also be able to make use of our Native form widgets guide.

+ +

The rest of the module however is a bit more advanced — it is easy to put form widgets on a page, but you can't actually do much with them without using some advanced form features, CSS, and JavaScript. Therefore, before you look at the other sections we'd recommend that you go away and learn some CSS and JavaScript first.

+ +

The above text is a good indicator as to why we've put web forms into its own standalone module, rather than trying to mix bits of it into the HTML, CSS, and JavaScript topic areas — form elements are more complex than most other HTML elements, and they also require a close marriage of related CSS and JavaScript techniques to get the most out of them.

+ +
+

Note: If you are working on a computer/tablet/other device where you don't have the ability to create your own files, you could try out (most of) the code examples in an online coding program such as JSBin or Thimble.

+
+ +

Hướng dẫn mở đầu

+ +
+
Your first HTML form
+
The first article in our series provides your very first experience of creating an HTML form, including designing a simple form, implementing it using the right HTML elements, adding some very simple styling via CSS, and how data is sent to a server.
+
How to structure an HTML form
+
With the basics out of the way, we now look in more detail at the elements used to provide structure and meaning to the different parts of a form.
+
+ +

Các form controls khác nhau

+ +

Basic native form controls
+ Chúng ta bắt đầu phần này bằng việc nhìn vào chức năng khả dụng của của kiểu {{htmlelement("input")}} HTML, tìm hiểu những tùy chọn có thể sử dụng để thu thập các kiểu data khác nhau.

+ +

The HTML5 input types
+ Tại đây chúng ta sẽ tiếp tục đi sâu vào phần tử <input>, tìm hiểu về các kiểu input mới được thêm trong HTML5, và các loại UI controls khác nhau và cách thu thập dữ liệu nâng cao mà chúng làm được. Thêm nữa, chúng ta sẽ xem qua phần tử {{htmlelement('output')}}.

+ +

Other form controls
+ Tiếp sau đó chúng ta sẽ tìm hiểu về các non-<input> form controls và các công cụ có liên quan, ví dụ {{htmlelement('select')}}, {{htmlelement('textarea')}}, {{htmlelement('meter')}}, and {{htmlelement('progress')}}.

+ +

Form styling guides

+ +
+
+
Styling web forms
+
This article provides an introduction to styling forms with CSS, including all the basics you might need to know for basic styling tasks.
+
Advanced form styling
+
Here we look at some more advanced form styling techniques that need to be used when trying to deal with some of the more difficult-to-style form elements.
+
UI pseudo-classes
+
An introduction to the UI pseudo-classes enabling HTML form controls to be targeted based on their current state.
+
+ +

Kiểm tra và gửi dữ liệu form

+ +
+
Sending form data
+
Bài viết này cho biết điều gì sẽ xảy ra khi user submit một cái form - dữ liệu sẽ đi đâu, và làm sao chúng ta có thẻ xử lý dữ liệu đó khi nó đi đến đó? Chúng ta cũng nhìn vào một số vấn đề về bảo mật liên quan đến việc gửi dữ liệu đi.
+
Client-side form validation
+
Gửi dữ liệu đi thôi là chưa đủ - chúng ta cũng cần phải đảm bảo rằng dữ liêu mà user điền vào form là đúng định dạng chúng ta mong muốn để xử lý được, và chúng sẽ không làm hư hại ứng dụng của chúng ta. We also want to help our users to fill out our forms correctly and don't get frustrated when trying to use our apps. Form validation helps us achieve these goals — this article tells you what you need to know.
+
+ +

Advanced guides

+ +
+
Làm sao để xây dựng các form widgets tùy chỉnh 
+
Bạn sẽ bắt gặp các trường hợp mà form tích hợp trong cùng file là không đủ đáp ứng nhu cầu của bạn, ví dụ lý do về styling hay chức năng. Trong các trường hợp này, bạn có thể sẽ cần xây dựng widget form của riêng bạn dựa trên HTML thô. Bài viết này sẽ giải thích làm cách nào đạt được điều đó, và các điều cần cân nhắc khi bạn làm nó, với một case study thực tế.
+
Gửi form bằng JavaScript
+
This article looks at ways to use a form to assemble an HTTP request and send it via custom JavaScript, rather than standard form submission. It also looks at why you'd want to do this, and the implications of doing so. (See also Using FormData objects.)
+
HTML forms in legacy browsers
+
Article covering feature detection, etc. This should be redirected to the cross browser testing module, as the same stuff is covered better there.
+
+ +

Form styling guides

+ +
+
Styling HTML forms
+
This article provides an introduction to styling forms with CSS, including all the basics you might need to know for basic styling tasks.
+
Advanced styling for HTML forms
+
Here we look at some more advanced form styling techniques that need to be used when trying to deal with some of the more difficult-to-style elements.
+
Property compatibility table for form widgets
+
This last article provides a handy reference allowing you to look up what CSS properties are compatible with what form elements.
+
+ +

See also

+ + diff --git "a/files/vi/learn/getting_started_with_the_web/c\303\240i_\304\221\341\272\267t_c\303\241c_ph\341\272\247n_m\341\273\201m_c\306\241_b\341\272\243n/index.html" "b/files/vi/learn/getting_started_with_the_web/c\303\240i_\304\221\341\272\267t_c\303\241c_ph\341\272\247n_m\341\273\201m_c\306\241_b\341\272\243n/index.html" deleted file mode 100644 index 0350529f25..0000000000 --- "a/files/vi/learn/getting_started_with_the_web/c\303\240i_\304\221\341\272\267t_c\303\241c_ph\341\272\247n_m\341\273\201m_c\306\241_b\341\272\243n/index.html" +++ /dev/null @@ -1,62 +0,0 @@ ---- -title: Cài đặt các phần mềm cơ bản -slug: Learn/Getting_started_with_the_web/Cài_đặt_các_phần_mềm_cơ_bản -tags: - - Công Cụ - - Học Làm Web - - Người Mới Bắt Đầu - - Thiết Lập - - Trình Duyệt Web -translation_of: Learn/Getting_started_with_the_web/Installing_basic_software ---- -
{{LearnSidebar}}
- -
-

{{NextMenu("Learn/Getting_started_with_the_web/What_will_your_website_look_like", "Learn/Getting_started_with_the_web")}}

-
- -
-

Trong bài Cài đặt các phần mềm cơ bản, chúng tôi sẽ chỉ cho bạn các công cụ cần thiết để phát triển web đơn giản, và cách cài đặt chúng.

-
- -

Các chuyên gia web sử dụng gì?

- - - -

Những công cụ nào bạn thực sự cần hiện tại?

- -

Đừng để danh sách trên làm bạn sợ, thật ra bạn không cần phải biết tất cả công cụ trên để làm quen với phát triển web. Trong bài viết này, chúng tôi chỉ yêu cầu bạn công cụ căn bản nhất: một trình soạn thảo và một vài trình duyệt web. 

- -

Cài đặt trình soạn thảo

- -

Bạn có thể đã có sẵn chương trình soạn thảo trên máy tính của bạn. Trên hệ điều hành Windows là Notepad và trên OSX là TextEdit. Linux thì khá đa dạng, còn Ubuntu thì tích hợp gedit

- -

Để phát triển web, bạn có thể cần một phần mềm tốt hơn Notepad hoặc TextEdit. Chúng tôi khuyến khích bạn nên bắt đầu với Brackets, một chương trình soạn thảo code có thể cho bạn xem trước và có gợi ý code. 

- -

Cài đặt trình duyệt web

- -

Tiếp theo chúng ta sẽ cài đặt một vài trình duyệt để hiển thị trang web của chúng ta. Bản có thể click vào các link dưới đây để tải chương trình phù hợp với hệ điều hành của bạn: 

- - - -

Trước khi tiến hành bước tiếp theo, bạn nên cài đặt ít nhất 2 trình duyệt web và kiểm tra sử dụng thử. 

- -

Cài đặt web server trên máy tính

- -

Một vài ví dụ cần bạn phải chạy web server. bạn có thể thiết lập một máy chủ trên máy tính của bạn dựa trên hướng dẫn sau: Làm thế nào để thiết lập một máy chủ cục bộ?  

- -

{{NextMenu("Learn/Getting_started_with_the_web/What_will_your_website_look_like", "Learn/Getting_started_with_the_web")}}

diff --git a/files/vi/learn/getting_started_with_the_web/installing_basic_software/index.html b/files/vi/learn/getting_started_with_the_web/installing_basic_software/index.html new file mode 100644 index 0000000000..0350529f25 --- /dev/null +++ b/files/vi/learn/getting_started_with_the_web/installing_basic_software/index.html @@ -0,0 +1,62 @@ +--- +title: Cài đặt các phần mềm cơ bản +slug: Learn/Getting_started_with_the_web/Cài_đặt_các_phần_mềm_cơ_bản +tags: + - Công Cụ + - Học Làm Web + - Người Mới Bắt Đầu + - Thiết Lập + - Trình Duyệt Web +translation_of: Learn/Getting_started_with_the_web/Installing_basic_software +--- +
{{LearnSidebar}}
+ +
+

{{NextMenu("Learn/Getting_started_with_the_web/What_will_your_website_look_like", "Learn/Getting_started_with_the_web")}}

+
+ +
+

Trong bài Cài đặt các phần mềm cơ bản, chúng tôi sẽ chỉ cho bạn các công cụ cần thiết để phát triển web đơn giản, và cách cài đặt chúng.

+
+ +

Các chuyên gia web sử dụng gì?

+ + + +

Những công cụ nào bạn thực sự cần hiện tại?

+ +

Đừng để danh sách trên làm bạn sợ, thật ra bạn không cần phải biết tất cả công cụ trên để làm quen với phát triển web. Trong bài viết này, chúng tôi chỉ yêu cầu bạn công cụ căn bản nhất: một trình soạn thảo và một vài trình duyệt web. 

+ +

Cài đặt trình soạn thảo

+ +

Bạn có thể đã có sẵn chương trình soạn thảo trên máy tính của bạn. Trên hệ điều hành Windows là Notepad và trên OSX là TextEdit. Linux thì khá đa dạng, còn Ubuntu thì tích hợp gedit

+ +

Để phát triển web, bạn có thể cần một phần mềm tốt hơn Notepad hoặc TextEdit. Chúng tôi khuyến khích bạn nên bắt đầu với Brackets, một chương trình soạn thảo code có thể cho bạn xem trước và có gợi ý code. 

+ +

Cài đặt trình duyệt web

+ +

Tiếp theo chúng ta sẽ cài đặt một vài trình duyệt để hiển thị trang web của chúng ta. Bản có thể click vào các link dưới đây để tải chương trình phù hợp với hệ điều hành của bạn: 

+ + + +

Trước khi tiến hành bước tiếp theo, bạn nên cài đặt ít nhất 2 trình duyệt web và kiểm tra sử dụng thử. 

+ +

Cài đặt web server trên máy tính

+ +

Một vài ví dụ cần bạn phải chạy web server. bạn có thể thiết lập một máy chủ trên máy tính của bạn dựa trên hướng dẫn sau: Làm thế nào để thiết lập một máy chủ cục bộ?  

+ +

{{NextMenu("Learn/Getting_started_with_the_web/What_will_your_website_look_like", "Learn/Getting_started_with_the_web")}}

diff --git a/files/vi/learn/html/forms/index.html b/files/vi/learn/html/forms/index.html deleted file mode 100644 index 5b0215a43c..0000000000 --- a/files/vi/learn/html/forms/index.html +++ /dev/null @@ -1,101 +0,0 @@ ---- -title: HTML forms -slug: Learn/HTML/Forms -tags: - - Beginner - - Featured - - Forms - - Guide - - HTML - - Landing - - Learn - - NeedsTranslation - - TopicStub - - Web -translation_of: Learn/Forms ---- -
{{LearnSidebar}}
- -

This module provides a series of articles that will help you master HTML forms. HTML forms are a very powerful tool for interacting with users; however, for historical and technical reasons, it's not always obvious how to use them to their full potential. In this guide, we'll cover all aspects of HTML forms, from structure to styling, from data handling to custom widgets.

- -

Prerequisites

- -

Before starting this module, you should at least work through our Introduction to HTML. At this point you should find the {{anch("Basic guides")}} easy to understand, and also be able to make use of our Native form widgets guide.

- -

The rest of the module however is a bit more advanced — it is easy to put form widgets on a page, but you can't actually do much with them without using some advanced form features, CSS, and JavaScript. Therefore, before you look at the other sections we'd recommend that you go away and learn some CSS and JavaScript first.

- -

The above text is a good indicator as to why we've put web forms into its own standalone module, rather than trying to mix bits of it into the HTML, CSS, and JavaScript topic areas — form elements are more complex than most other HTML elements, and they also require a close marriage of related CSS and JavaScript techniques to get the most out of them.

- -
-

Note: If you are working on a computer/tablet/other device where you don't have the ability to create your own files, you could try out (most of) the code examples in an online coding program such as JSBin or Thimble.

-
- -

Hướng dẫn mở đầu

- -
-
Your first HTML form
-
The first article in our series provides your very first experience of creating an HTML form, including designing a simple form, implementing it using the right HTML elements, adding some very simple styling via CSS, and how data is sent to a server.
-
How to structure an HTML form
-
With the basics out of the way, we now look in more detail at the elements used to provide structure and meaning to the different parts of a form.
-
- -

Các form controls khác nhau

- -

Basic native form controls
- Chúng ta bắt đầu phần này bằng việc nhìn vào chức năng khả dụng của của kiểu {{htmlelement("input")}} HTML, tìm hiểu những tùy chọn có thể sử dụng để thu thập các kiểu data khác nhau.

- -

The HTML5 input types
- Tại đây chúng ta sẽ tiếp tục đi sâu vào phần tử <input>, tìm hiểu về các kiểu input mới được thêm trong HTML5, và các loại UI controls khác nhau và cách thu thập dữ liệu nâng cao mà chúng làm được. Thêm nữa, chúng ta sẽ xem qua phần tử {{htmlelement('output')}}.

- -

Other form controls
- Tiếp sau đó chúng ta sẽ tìm hiểu về các non-<input> form controls và các công cụ có liên quan, ví dụ {{htmlelement('select')}}, {{htmlelement('textarea')}}, {{htmlelement('meter')}}, and {{htmlelement('progress')}}.

- -

Form styling guides

- -
-
-
Styling web forms
-
This article provides an introduction to styling forms with CSS, including all the basics you might need to know for basic styling tasks.
-
Advanced form styling
-
Here we look at some more advanced form styling techniques that need to be used when trying to deal with some of the more difficult-to-style form elements.
-
UI pseudo-classes
-
An introduction to the UI pseudo-classes enabling HTML form controls to be targeted based on their current state.
-
- -

Kiểm tra và gửi dữ liệu form

- -
-
Sending form data
-
Bài viết này cho biết điều gì sẽ xảy ra khi user submit một cái form - dữ liệu sẽ đi đâu, và làm sao chúng ta có thẻ xử lý dữ liệu đó khi nó đi đến đó? Chúng ta cũng nhìn vào một số vấn đề về bảo mật liên quan đến việc gửi dữ liệu đi.
-
Client-side form validation
-
Gửi dữ liệu đi thôi là chưa đủ - chúng ta cũng cần phải đảm bảo rằng dữ liêu mà user điền vào form là đúng định dạng chúng ta mong muốn để xử lý được, và chúng sẽ không làm hư hại ứng dụng của chúng ta. We also want to help our users to fill out our forms correctly and don't get frustrated when trying to use our apps. Form validation helps us achieve these goals — this article tells you what you need to know.
-
- -

Advanced guides

- -
-
Làm sao để xây dựng các form widgets tùy chỉnh 
-
Bạn sẽ bắt gặp các trường hợp mà form tích hợp trong cùng file là không đủ đáp ứng nhu cầu của bạn, ví dụ lý do về styling hay chức năng. Trong các trường hợp này, bạn có thể sẽ cần xây dựng widget form của riêng bạn dựa trên HTML thô. Bài viết này sẽ giải thích làm cách nào đạt được điều đó, và các điều cần cân nhắc khi bạn làm nó, với một case study thực tế.
-
Gửi form bằng JavaScript
-
This article looks at ways to use a form to assemble an HTTP request and send it via custom JavaScript, rather than standard form submission. It also looks at why you'd want to do this, and the implications of doing so. (See also Using FormData objects.)
-
HTML forms in legacy browsers
-
Article covering feature detection, etc. This should be redirected to the cross browser testing module, as the same stuff is covered better there.
-
- -

Form styling guides

- -
-
Styling HTML forms
-
This article provides an introduction to styling forms with CSS, including all the basics you might need to know for basic styling tasks.
-
Advanced styling for HTML forms
-
Here we look at some more advanced form styling techniques that need to be used when trying to deal with some of the more difficult-to-style elements.
-
Property compatibility table for form widgets
-
This last article provides a handy reference allowing you to look up what CSS properties are compatible with what form elements.
-
- -

See also

- - -- cgit v1.2.3-54-g00ecf