Làm cách nào để tạo giỏ hàng bằng HTML CSS và JavaScript?
Gabriele Romanato là một nhà phát triển web. Người đóng góp cho Bộ kiểm tra CSS W3C, anh ấy cũng có kỹ năng với jQuery và WordPress. Bạn có thể tìm hiểu thêm về anh ấy qua … Thông tin thêm về Gabriele ↬ Show
Bản tin emailEmail (đập vỡ) của bạn
Mẹo hàng tuần về front-end & UX
Lưu trữ phiên là một tính năng mới được giới thiệu bởi đặc tả "Lưu trữ web" của W3C. Nó được hỗ trợ trong Internet Explorer 8+, Firefox, Chrome, Safari và Opera Desktop (để biết danh sách đầy đủ, vui lòng tham khảo “”). Trong loạt bài viết này, chúng ta sẽ đi sâu vào triển khai lưu trữ phiên thực tế bằng cách tạo một giỏ mua hàng thương mại điện tử hoàn chỉnh với đối tượng 4 và jQueryHãy nhớ rằng, trong các bài viết này, tôi sẽ không đề xuất một kỹ thuật mới để thay thế các kỹ thuật phía máy chủ hiện có, mà chỉ là một bằng chứng về khái niệm lưu trữ phiên. Lưu trữ phiên. Lời nhắc nhanhChúng tôi sử dụng các phiên để lưu trữ dữ liệu và chia sẻ dữ liệu đó trên một số trang. Thông thường, người dùng sẽ chọn một sản phẩm và chúng tôi sẽ lưu tên sản phẩm cùng với số lượng và giá đã chọn Sau đó, người dùng sẽ điền vào biểu mẫu có thông tin cá nhân của họ và chúng tôi sẽ lưu nó trong phiên hiện tại trước khi kết thúc quá trình, thường là trang thanh toán và chuyển hướng tiếp theo đến cổng thanh toán (ví dụ: PayPal Thêm sau khi nhảy. Tiếp tục đọc bên dưới ↓ Các biểu mẫu web là trung tâm của mọi tương tác có ý nghĩa, vì vậy chúng đáng để xử lý chắc chắn. Làm quen với Mẫu thiết kế biểu mẫu của Adam Silver, một hướng dẫn thiết thực để thiết kế và xây dựng biểu mẫu cho web Chuyển đến mục lục ↬Đọc thêm trên SmashingMag.
Giỏ hàng được xây dựng như thế nào? . Mảng kết hợp cho phép các nhà phát triển Web PHP giữ dữ liệu phiên có cấu trúc và tổ chức Các phiên JavaScript hoạt động khác nhau. Nói chung, một phiên hết hạn khi người dùng đóng trình duyệt của họ (nhưng hãy nhớ rằng khái niệm “đóng trình duyệt” không rõ ràng trên thiết bị di động). Khi một phiên hết hạn, tất cả dữ liệu được lưu trữ trong bộ lưu trữ phiên của trình duyệt Web sẽ bị xóa. Không cần phải khởi tạo một phiên một cách rõ ràng vì trong JavaScript, một phiên có dạng đối tượng 4 toàn cục và luôn luôn hiện diện. Việc ghi dữ liệu vào phiên hiện tại là tùy thuộc vào chúng tôiDữ liệu phiên có dạng cặp khóa-giá trị và giá trị của mỗi khóa chỉ có thể chứa các chuỗi. Để ghi dữ liệu, chúng ta có thể sử dụng phương thức 7
Trong trường hợp này, khóa có tên 8 hiện chứa giá trị 9 dưới dạng một chuỗi, mặc dù chúng ta đã sử dụng một số nguyên trong lệnh gọi phương thức 0. Giá trị này sẽ có sẵn cho đến khi phiên hết hạn, trừ khi chúng tôi sử dụng 1 để xóa khóa được đặt tên hoặc chúng tôi gọi 2 để xóa hoàn toàn tất cả khóa và giá trị khỏi bộ nhớ phiênLưu ý rằng khi khóa không tồn tại trong bộ lưu trữ phiên, giá trị của nó luôn là 3. Sau đó, khi chúng tôi xóa một khóa khỏi bộ nhớ phiên và thử lại để lấy giá trị của nó, chúng tôi chỉ nhận được 3Như bạn có thể đoán, khóa của chúng tôi hiện tại luôn có sẵn, ngay cả khi người dùng điều hướng các trang trên trang web của chúng tôi. Để có được giá trị của nó, chúng tôi chỉ cần viết như sau
Chúng tôi cũng có thể cập nhật giá trị của nó bằng cách sử dụng lại 5 với một giá trị mới
Bây giờ, khóa có tên 8 có giá trị là 7 với lần cập nhật cuối cùng của chúng tôi. Tại sao chúng tôi gọi là 8? . Hãy nhớ rằng tất cả các giá trị trong lưu trữ phiên là chuỗi và phép tính của chúng tôi chỉ được thực hiện giữa các sốNhưng đợi đã. Còn đồ vật thì sao?
Để cập nhật đối tượng của chúng tôi, chúng tôi chỉ cần mở rộng nó và sau đó lặp lại quy trình trên Cân nhắc về Bảo mậtBảo mật là quan trọng. Nếu chúng tôi đọc thông số kỹ thuật của W3C, thì chúng tôi sẽ nhận thức được các rủi ro bảo mật của ngay cả một công nghệ phía máy khách, chẳng hạn như lưu trữ Web Tài liệu kỹ thuật về bảo mật trang web (PDF) của Nhóm Sẵn sàng Khẩn cấp Máy tính Hoa Kỳ nêu rõ “Mọi tổ chức cộng đồng, tập đoàn, doanh nghiệp hoặc cơ quan chính phủ đều dựa vào một trang web hướng ngoại để cung cấp thông tin về họ, thông báo một sự kiện hoặc bán sản phẩm hoặc dịch vụ. Do đó, các trang web công cộng thường là các vectơ tấn công được nhắm mục tiêu nhiều nhất cho hoạt động độc hại. ” Ngay cả khi phiên trình duyệt kết thúc khi trình duyệt bị đóng, các cuộc tấn công nguy hiểm vẫn có thể xảy ra, đặc biệt nếu trình duyệt đã bị xâm phạm bởi một số khai thác nhất định. Hơn nữa, các trang web bị xâm nhập thường có thể được sử dụng để phát tán phần mềm độc hại nhắm mục tiêu đến các trình duyệt cụ thể Vì lý do này, hãy đảm bảo trang web của bạn an toàn trước khi dựa vào bất kỳ kỹ thuật nào để lưu trữ dữ liệu trong trình duyệt. Giữ an toàn cho một trang web nằm ngoài phạm vi của bài viết này, nhưng chỉ cần làm theo các biện pháp bảo mật tốt nhất, bạn sẽ có thể hưởng lợi từ lưu trữ Web mà không phải lo lắng quá nhiều về tác động bảo mật của nó Dự án mẫu của chúng tôi. Nhà máy rượuDự án mẫu của chúng tôi là một cửa hàng trực tuyến bán rượu. Đó là một trang web thương mại điện tử đơn giản với điểm phức tạp duy nhất là cách tính phí vận chuyển Nói tóm lại, rượu vang được bán theo gói sáu chai. Điều này có nghĩa là tổng số lượng chai bán ra phải luôn là bội số của sáu. Sau đó, phí vận chuyển được tính theo tổng số lượng chai đã bán Cửa hàng của chúng tôi sẽ dựa vào PayPal, vì vậy chúng tôi sẽ phải tạo tài khoản Doanh nghiệp trong PayPal Sandbox để kiểm tra mã của chúng tôi Người dùng có thể thêm và xóa sản phẩm khỏi giỏ hàng của mình, cập nhật giỏ hàng, thay đổi số lượng của từng sản phẩm và làm trống giỏ hàng. Họ phải điền vào biểu mẫu thông tin liên hệ của họ, chỉ định xem địa chỉ thanh toán của họ có giống địa chỉ giao hàng hay không Trước khi được chuyển hướng đến PayPal, người dùng sẽ thấy một trang tóm tắt với dữ liệu cá nhân, giỏ hàng của họ và tổng giá của giỏ hàng cộng với phí vận chuyển Sau khi hoàn tất giao dịch mua của họ, người dùng sẽ được chuyển hướng trở lại trang web của chúng tôi. Đây là bước duy nhất của quy trình mà chúng tôi không thể xử lý chỉ với JavaScript. PayPal sẽ gửi lại nhiều dữ liệu khác nhau qua yêu cầu HTTP phải được xử lý bằng ngôn ngữ phía máy chủ (chẳng hạn như PHP). Nếu bạn cần thêm thông tin để bắt đầu với loại xử lý này, vui lòng tham khảo hướng dẫn của PayPal Cấu trúc HTMLDự án của chúng tôi bao gồm các phần sau
Chúng tôi sẽ xem xét đánh dấu cho dự án này trong các phần sau mục lục. htmlCác thành phần chính của trang này là các biểu mẫu cho phép người dùng thêm sản phẩm vào giỏ hàng của họ
Các thuộc tính dữ liệu được sử dụng ở đây để lưu trữ tên và giá sản phẩm có thể được truy cập thông qua jQuery bằng cách sử dụng. dữ liệu() và $. phương pháp dữ liệu () xe đẩy. htmlTrang giỏ hàng của chúng tôi được tạo thành từ ba thành phần. một bảng có thông tin của sản phẩm, một thành phần hiển thị tổng phụ và danh sách các hành động của giỏ hàng
Bảng chứa trong trang này trống và chúng tôi sẽ điền dữ liệu vào bảng qua JavaScript. Phần tử hiển thị tổng phụ hoạt động như một trình giữ chỗ cho JavaScript. Hai hành động đầu tiên, “Cập nhật giỏ hàng” và “Làm trống giỏ hàng” sẽ được xử lý bằng JavaScript, trong khi hai hành động sau chỉ là các liên kết đơn giản đến trang danh sách của sản phẩm và trang thanh toán, tương ứng Thủ tục thanh toán. htmlTrang này có bốn thành phần
Thuộc tính dữ liệu được sử dụng ở đây để xác thực. Thuộc tính 5 chỉ định loại dữ liệu chúng tôi đang xác thực và 6 chứa thông báo lỗi sẽ hiển thị trong trường hợp không thành côngTôi không sử dụng tính năng xác thực email được tích hợp trong trình duyệt Web chỉ vì mục đích đơn giản, nhưng bạn có thể sử dụng nó nếu muốn gọi món. htmlTrang cuối cùng này chứa một bản tóm tắt ngắn gọn về đơn đặt hàng của người dùng, thông tin chi tiết của họ và biểu mẫu PayPal
Biểu mẫu PayPal và các thành phần khác của trang này ban đầu trống, ngoại trừ những trường không cần tạo động Mã JavaScriptBố cục CSS của dự án này sẽ không có ảnh hưởng thực sự đến mục tiêu mà chúng tôi muốn đạt được. Ngay cả khi chúng tôi tắt CSS hoàn toàn, dự án vẫn tiếp tục hoạt động nhờ mối quan hệ chặt chẽ giữa cấu trúc của HTML và hành vi của JavaScript Chúng tôi sẽ sử dụng cách tiếp cận hướng đối tượng vì sự phức tạp của các mục tiêu của chúng tôi. Đối tượng của chúng ta sẽ dựa trên một mẫu cấu trúc đơn giản và sẽ sử dụng cả phương thức riêng tư và công khai Cấu trúc đối tượngĐối tượng của chúng tôi có cấu trúc rất đơn giản. Cả hai hàm khởi tạo đều khởi tạo phần tử cấp cao nhất bao bọc toàn bộ cấu trúc DOM của chúng ta và gọi phương thức khởi tạo
Thể hiện của đối tượng được tạo khi DOM sẵn sàng. Chúng tôi có thể kiểm tra xem mọi thứ đã hoạt động tốt như sau
Điều này xuất ra như sau 0Bây giờ chúng ta biết đối tượng của mình đã được khởi tạo chính xác, chúng ta có thể định nghĩa các thuộc tính của nó Thuộc tính đối tượngCác thuộc tính của đối tượng của chúng tôi chia thành hai loại. thứ nhất, các thuộc tính để xử lý tính toán, biểu mẫu và xác thực và thứ hai, các tham chiếu đến phần tử HTML 1Hãy lần lượt đi qua các thuộc tính này Lưu trữ và các thuộc tính khác
Tham chiếu đến các phần tử
Tất cả các phần tử đều có tiền tố là ký hiệu 2, nghĩa là chúng là các đối tượng jQuery. Nhưng không phải tất cả các yếu tố này đều có sẵn trên tất cả các trang. Để kiểm tra xem một phần tử jQuery có tồn tại hay không, chỉ cần kiểm tra thuộc tính 3 của nó 2Một cách tiếp cận khác, không được sử dụng trong dự án của chúng tôi, là thêm một ID hoặc lớp cụ thể vào phần tử 4 và thực hiện các hành động có điều kiện 3phương pháp đối tượngCác hành động trong mã của chúng tôi diễn ra trong các phương thức của đối tượng, do đó, có thể được chia thành các phương thức công khai và riêng tư. Có thể nói, các phương thức riêng tư hoạt động ở chế độ nền và giúp các phương thức công khai thực hiện nhiệm vụ của chúng. Các phương pháp này được bắt đầu bằng dấu gạch dưới và không bao giờ được sử dụng trực tiếp Trong khi đó, các phương thức công khai hoạt động trực tiếp trên các thành phần và dữ liệu của trang và chúng không được trộn. Chúng ta đã thấy phương thức 5, phương thức này chỉ khởi tạo các thuộc tính và các phương thức công khai khác trong hàm tạo của đối tượng. Các phương pháp khác sẽ được giải thích dưới đâyPhương pháp riêng tư (Người trợ giúp)Phương pháp riêng tư đầu tiên, 6, chỉ đơn giản làm trống bộ nhớ phiên hiện tại trong trình duyệt 4Để định dạng một số theo một số vị trí thập phân đã đặt, chúng tôi triển khai phương thức 7 5Phương thức này sử dụng phương thức toFixed() của JavaScript của đối tượng 8. Vai trò của nó trong dự án của chúng tôi là định dạng đúng giáVì không phải tất cả giá trong các trang của chúng tôi đều có trong thuộc tính dữ liệu nên chúng tôi cần một phương pháp chuyên dụng để trích xuất phần số của chuỗi từ các nút văn bản. Phương pháp này được đặt tên là 9 6Ở trên, 0 là một tham chiếu đến đối tượng 1 và chúng ta sẽ cần nó mỗi khi muốn truy cập một thuộc tính hoặc một phương thức của đối tượng mà không phải lo lắng nhiều về phạm viBạn có thể chống đạn cho phương pháp này bằng cách thêm một quy trình khác để loại bỏ tất cả các khoảng trắng ở cuối 7Hãy nhớ rằng $ của jQuery. Phương thức trim() xóa tất cả các dòng, khoảng trắng mới (bao gồm cả khoảng trắng không ngắt) và các tab từ đầu và cuối chuỗi. Nếu các ký tự khoảng trắng này xuất hiện ở giữa một chuỗi, chúng sẽ được giữ nguyên Sau đó, chúng ta cần hai phương thức để chuyển đổi chuỗi thành số và số thành chuỗi. Điều này là cần thiết để thực hiện các phép tính và hiển thị kết quả trên các trang của chúng tôi 8Ở trên, 2 chạy các bài kiểm tra sau
Ngược lại, 4 chỉ cần gọi phương thức toString() để chuyển đổi một số thành một chuỗiBước tiếp theo là xác định hai phương thức để chuyển đổi một đối tượng JavaScript thành chuỗi JSON và chuỗi JSON trở lại thành đối tượng JavaScript 9Phương thức đầu tiên sử dụng phương thức 0, trong khi phương thức sau sử dụng phương thức 9 (xem bài viết của Mozilla Developer Network về “Sử dụng JSON gốc”)Tại sao chúng ta cần những phương pháp này? KeyValue 7 8Khóa 7 chứa một chuỗi JSON đại diện cho một mảng các đối tượng (i. e. 00) trong đó mỗi đối tượng hiển thị thông tin liên quan về sản phẩm do người dùng thêm vào — cụ thể là tên, số lượng và giá của sản phẩmRõ ràng là bây giờ chúng ta cũng cần một phương pháp chuyên biệt để thêm các mục vào khóa cụ thể này trong bộ nhớ phiên 0Phương thức này lấy khóa của giỏ hàng từ bộ lưu trữ phiên, chuyển đổi nó thành một đối tượng JavaScript và thêm một đối tượng mới dưới dạng chuỗi JSON vào mảng của giỏ hàng. Đối tượng mới được thêm vào có định dạng sau 1Bây giờ, chìa khóa giỏ hàng của chúng tôi sẽ trông như thế này KeyValue 7 02Vận chuyển được tính theo tổng số sản phẩm được thêm vào giỏ hàng, không phải số lượng của từng sản phẩm riêng lẻ 2Bạn có thể thay thế quy trình của phương pháp này bằng quy trình của riêng bạn. Trong trường hợp này, phí vận chuyển được tính dựa trên số tiền cụ thể Chúng tôi cũng cần xác thực biểu mẫu thanh toán nơi người dùng nhập thông tin cá nhân của họ. Phương pháp sau đây tính đến chuyển đổi khả năng hiển thị đặc biệt mà người dùng có thể chỉ định rằng thông tin thanh toán của họ giống với thông tin vận chuyển của họ 3Khi các thông báo xác thực được thêm vào khi biểu mẫu được gửi, chúng tôi cần xóa các thông báo này trước khi tiếp tục. Trong trường hợp này, chúng tôi chỉ tính đến các trường có trong phần tử 03 vẫn hiển thị sau khi người dùng đã kiểm tra chuyển đổi mức độ hiển thịViệc xác thực diễn ra bằng cách kiểm tra xem trường hiện tại có yêu cầu so sánh chuỗi đơn giản ( 04) hay kiểm tra biểu thức chính quy ( 05). Các thử nghiệm của chúng tôi dựa trên thuộc tính 0. Nếu có lỗi, chúng tôi sẽ hiển thị thông báo bằng cách sử dụng thuộc tính 6 của từng trườngLưu ý rằng các quy trình xác thực được sử dụng ở trên đã được chèn vào chỉ nhằm mục đích trình diễn và chúng có một số sai sót. Để xác thực tốt hơn, tôi khuyên dùng plugin jQuery chuyên dụng, chẳng hạn như Xác thực jQuery Cuối cùng nhưng không kém phần quan trọng là đăng ký thông tin mà người dùng đã nhập trong biểu mẫu thanh toán 4Một lần nữa, phương pháp này tính đến khả năng hiển thị của các trường dựa trên lựa chọn của người dùng. Khi biểu mẫu đã được gửi, bộ nhớ phiên của chúng tôi có thể có các chi tiết sau được thêm vào KeyValue 08John Doe 09jdoe@localhost 10New York 11Street 1 121234 13USAPhương thức công khaiCác phương thức công khai của chúng ta được gọi trong phương thức khởi tạo ( 5). Điều đầu tiên cần làm là tạo các khóa và giá trị ban đầu trong bộ nhớ phiên 5Kiểm tra đầu tiên kiểm tra xem các giá trị của chúng tôi đã được thêm vào bộ nhớ phiên chưa. Chúng tôi cần thử nghiệm này vì chúng tôi thực sự có thể ghi đè lên các giá trị của mình nếu chúng tôi chạy phương thức này mỗi khi tài liệu tải xong Bây giờ, bộ nhớ phiên của chúng tôi trông như thế này KeyValue 7{“items”. []} 160_______12_______170Bây giờ, chúng tôi cần xử lý các biểu mẫu mà người dùng có thể thêm sản phẩm vào giỏ hàng của họ 6Mỗi khi người dùng gửi một trong các biểu mẫu này, chúng tôi phải đọc số lượng sản phẩm do người dùng chỉ định và nhân nó với đơn giá. Sau đó, chúng ta cần đọc khóa của tổng số có trong bộ nhớ phiên và cập nhật giá trị của nó cho phù hợp. Sau khi hoàn thành việc này, chúng tôi gọi phương thức 18 để lưu trữ thông tin chi tiết của sản phẩm trong kho lưu trữ. Số lượng đã chỉ định cũng sẽ được sử dụng để tính phí vận chuyển bằng cách so sánh giá trị của nó với giá trị đã được lưu trữGiả sử rằng người dùng chọn sản phẩm đầu tiên, Wine #1, có giá €5. 00 và chỉ định số lượng là 5. Lưu trữ phiên sẽ trông như thế này sau khi biểu mẫu đã được gửi KeyValue 7{“items”. [{"sản phẩm". “Rượu số 1”,“giá”. 5, "số lượng". 5}]} 160 1725Giả sử cùng một người dùng quay lại danh sách sản phẩm và chọn Rượu số 2, có giá €8. 00 và chỉ định số lượng là 2 KeyValue 7{“items”. [{"sản phẩm". “Rượu số 1”,“giá”. 5, "số lượng". 5},{“sản phẩm”. “Rượu #2”,“giá”. 8, "số lượng". 2}]} 160 1741Cuối cùng, người dùng háo hức của chúng tôi quay lại danh sách sản phẩm, chọn Rượu số 3, có giá €11. 00 và chỉ định số lượng là 6 KeyValue 7{“items”. [{"sản phẩm". “Rượu số 1”,“giá”. 5, "số lượng". 5},{“sản phẩm”. “Rượu #2”,“giá”. 8, "số lượng". 2},{“sản phẩm”. “Rượu #3”, “giá”. 11,“số lượng”. 6}]} 1610 17107Lúc này chúng ta cần hiển thị chính xác giỏ hàng khi người dùng vào trang giỏ hàng hoặc trang thanh toán 7Nếu bảng của giỏ hàng nằm trên trang giỏ hàng, thì phương thức này sẽ lặp lại mảng đối tượng có trong khóa 7 và điền vào bảng bằng cách thêm trường văn bản để cho phép người dùng sửa đổi số lượng của từng sản phẩm. Để đơn giản, tôi không bao gồm hành động xóa một mặt hàng khỏi giỏ hàng, nhưng quy trình đó khá đơn giản
8Sau đó, chúng tôi cần một phương thức cập nhật giỏ hàng với giá trị số lượng mới cho từng sản phẩm 9Phương thức của chúng tôi lặp qua tất cả các ô trong bảng có liên quan của giỏ hàng và xây dựng một đối tượng mới để chèn vào khóa 7. Nó cũng tính toán lại tổng giá và phí vận chuyển bằng cách tính đến các giá trị mới được chèn vào của các trường số lượngGiả sử rằng người dùng thay đổi số lượng Rượu #2 từ 2 thành 6 KeyValue 7{“items”. [{"sản phẩm". “Rượu số 1”,“giá”. 5, "số lượng". 5},{“sản phẩm”. “Rượu #2”,“giá”. 8, "số lượng". 6},{“sản phẩm”. “Rượu #3”, “giá”. 11,“số lượng”. 6}]} 1620 17139Nếu người dùng muốn làm trống giỏ hàng của họ và bắt đầu lại, chúng tôi chỉ cần thêm hành động sau 0Giờ đây, bộ nhớ phiên đã được làm trống hoàn toàn và người dùng có thể bắt đầu mua lại. Tuy nhiên, nếu họ quyết định hoàn tất đơn đặt hàng của mình, thì chúng tôi cần xử lý biểu mẫu thanh toán khi họ nhập thông tin cá nhân của mình 1Điều đầu tiên chúng ta cần làm là ẩn các trường vận chuyển nếu người dùng kiểm tra chuyển đổi xác định rằng thông tin thanh toán của họ giống với thông tin vận chuyển của họ. Chúng tôi sử dụng sự kiện 37, kết hợp với jQuery. phương pháp chống đỡ (). (Nếu bạn tò mò về sự khác biệt giữa 38 và 39, StackOverflow có một cuộc thảo luận hay về nó. )Sau đó, chúng tôi xác thực biểu mẫu bằng cách trả lại giá trị 3 trong trường hợp có lỗi, do đó ngăn không cho biểu mẫu được gửi. Nếu xác thực thành công, chúng tôi sẽ lưu dữ liệu của người dùng vào bộ lưu trữ. Ví dụKeyValue 7{“items”. [{"sản phẩm". “Rượu số 1”,“giá”. 5, "số lượng". 5},{“sản phẩm”. “Rượu #2”,“giá”. 8, "số lượng". 6},{“sản phẩm”. “Rượu #3”, “giá”. 11,“số lượng”. 6}]} 1620 17139 08John Doe 09jdoe@localhost 10New York 11Street 1 121234 13USABước cuối cùng là trang có biểu mẫu PayPal. Trước tiên, chúng tôi cần hiển thị thông tin của người dùng được thu thập trên trang thanh toán. 2Trước tiên, phương pháp của chúng tôi sẽ kiểm tra xem người dùng đã nhập thông tin thanh toán hoặc thông tin giao hàng hay cả hai. Sau đó, nó chỉ cần xây dựng một đoạn HTML bằng cách lấy dữ liệu của người dùng từ bộ nhớ phiên Cuối cùng, người dùng có thể mua sản phẩm bằng cách gửi biểu mẫu PayPal. Biểu mẫu chuyển hướng họ đến PayPal, nhưng các trường cần được điền chính xác trước khi có thể gửi biểu mẫu 3Đầu tiên, chúng tôi nhận được một số thông tin quan trọng từ lưu trữ phiên - cụ thể là tỷ lệ vận chuyển và tổng số mặt hàng trong giỏ hàng. Chúng tôi chia tổng số tiền vận chuyển cho số lượng mặt hàng để tính phí vận chuyển cho từng mặt hàng Sau đó, chúng tôi đặt URL cho thuộc tính 50 của biểu mẫu, cùng với email doanh nghiệp và mã tiền tệ của chúng tôi (được lấy từ các thuộc tính 8 và 7 tương ứng)Cuối cùng, chúng tôi lặp qua các mặt hàng trong giỏ hàng của mình và chúng tôi thêm vào biểu mẫu một số thành phần đầu vào ẩn có chứa số lượng, tên sản phẩm, số lượng mặt hàng cho từng sản phẩm, giá (số lượng) và đơn giá vận chuyển Các giá trị tiền tệ được định dạng là 53. Việc giải thích tất cả các giá trị có thể có của biểu mẫu PayPal và các loại biểu mẫu PayPal khác nhau nằm ngoài phạm vi của bài viết này. Nếu bạn muốn tìm hiểu sâu hơn, tôi khuyên bạn nên đọc phần sau
Xem trước và mã nguồnVideo sau đây cho thấy kết quả. Tôi đã bỏ qua trang đích của PayPal để bảo vệ dữ liệu tài khoản của mình Lấy mã từ kho lưu trữ GitHub. Chỉ cần thay đổi thuộc tính 8 của đối tượng 1 thành tài khoản email PayPal Sandbox của bạn
Làm cách nào để tạo giỏ hàng bằng JavaScript?Tạo Giỏ hàng bằng Mảng và Đối tượng trong vanilla JavaScript . Tiếp cận. Ban đầu, bạn có một danh sách các mặt hàng mua sắm được sắp xếp. . Sở thích. . Html cơ sở. . Tạo thư viện vật phẩm. . Tạo các chức năng cơ bản. . Hiển thị danh sách mua sắm. . Một chút CSS. . Thêm và xóa các mặt hàng khỏi giỏ hàng Tôi có thể kiếm việc làm chỉ với HTML, CSS và JavaScript không?Tóm lại, bạn chắc chắn có thể tìm việc chỉ bằng HTML và CSS . Và nếu những kỹ năng cơ bản đó không đủ để giúp bạn có được công việc mơ ước, bạn vẫn có thể sử dụng chúng để bắt đầu kiếm tiền trong khi bạn đang xây dựng các kỹ năng khác.
Bạn có thể tạo một ứng dụng bằng HTML CSS và JavaScript không?Apache Cordova là một khuôn khổ để xây dựng các ứng dụng dành cho thiết bị di động bằng HTML, CSS và JavaScript . Bạn có thể nhắm mục tiêu nhiều nền tảng với một cơ sở mã. Apache Cordova là một khung phát triển di động mã nguồn mở.
Chúng tôi có thể tạo trang web Thương mại điện tử bằng HTML và CSS không?Người mới bắt đầu tạo Trang web thương mại điện tử bằng HTML và CSS dễ dàng hơn . Bước đầu tiên là tạo bố cục trang web của bạn bằng HTML. Bạn có thể tạo thanh điều hướng, thanh tìm kiếm và các trang có liên quan khác cho trang web của mình bằng HTML. |