2016-01-06 12 views
5

Tôi đang tình nguyện làm một dự án dựa trên trang web đang cố gắng làm cho tất cả các trang có thể hoạt động hoàn toàn JavaScript trước khi thêm bất kỳ JavaScript nào để cải tiến và tôi được yêu cầu điều tra xem một kịch bản cụ thể có thể được xử lý hoàn toàn thông qua HTML/CSS hay không.Biểu mẫu HTML: Có thể gửi các thông số GET/POST chỉ bằng cách sử dụng HTML hoặc CSS?

Những gì chúng tôi có là biểu mẫu được điền để giúp chúng tôi lọc danh sách vé được hiển thị trên màn hình sau khi cập nhật trang thông qua hành động GET, hoạt động tốt, nhưng mối quan tâm với việc triển khai hiện tại là không thể tạo URL thành liên kết cố định. Tuy nhiên, yêu cầu để giữ liên kết vĩnh viễn càng ít càng tốt, chỉ gửi các tham số GET cho các trường được điền bằng thứ gì đó (như vậy, bỏ qua các tham số GET cho các trường trống) thay vì có tham số GET khác nhau cho mỗi biểu mẫu trên trang. Tôi đã nghĩ ra một số cách có thể thực hiện, hầu hết bao gồm JavaScript (ví dụ: tạo các trường có id nhưng không có tên và trường ẩn w/name sử dụng JS để lấy dữ liệu từ các trường), nhưng cũng có một đó sẽ là một hành động POST với một chuyển hướng trở lại GET bằng một chuỗi có thể đọc được con người có thể được sử dụng vĩnh viễn. Tuy nhiên, dev dẫn đầu không muốn đi qua phương thức POST/redirect nếu có thể.

Điều đó đang được nói, tôi đang cố gắng đảm bảo rằng tôi bao quát tất cả các căn cứ của mình và hỏi chuyên gia suy nghĩ của họ về điều này trước khi tôi đẩy mạnh giải pháp POST/chuyển hướng: Có cách nào chỉ sử dụng HTML & CSS để chặn trực tiếp GET tham số của biểu mẫu cho các trường trống mà không sử dụng POST/chuyển hướng?

+0

Về cơ bản, bạn chỉ muốn giá trị nix không phải là giá trị mặc định? Bạn có thể gửi một quá trình gửi tiền vào nó thông qua Javascript đánh dấu bất kỳ trường không dơ bẩn nào bị vô hiệu hóa trước khi gửi. – abluejelly

+0

Tò mò là tại sao bạn không muốn javascript? Đây có phải là trang web sử dụng nội bộ hoặc bên ngoài không? – Bindrid

+0

Bindrid: Trang web là một dự án mã nguồn mở cho các dự án miễn phí/libre/mở khác và có rất nhiều người chúng tôi đã nói chuyện với họ trái ngược với JS và có rất nhiều trình chặn JS, vì vậy chúng tôi đang cố gắng để phục vụ cho người dùng tiềm năng. –

Trả lời

1

Không, các trường không được gửi trong biểu mẫu HTML với phương thức "GET" không thể sử dụng JavaScript, hoặc thay vào đó gửi biểu mẫu bằng phương thức POST và sử dụng chức năng phía máy chủ để thu nhỏ biểu mẫu.

Các trường được gửi được xác định bởi HTML specification và HTML và CSS một mình không thể sửa đổi hành vi này và vẫn có trình duyệt tuân thủ các tiêu chuẩn.

0

Không, bạn không thể ngăn chặn theo lập trình bất kỳ hành vi trình duyệt mặc định nào mà không cần sử dụng một số loại ngôn ngữ kịch bản ứng dụng khách, như JavaScript.

Như một lưu ý phụ, bạn nói "JavaScript cho cải tiến", nhưng JavaScript không được sử dụng để cải tiến những ngày này. Và không ai trong thế giới thực sẽ ngoại trừ một mặt trận phong nha mà không sử dụng JavaScript. Tôi sẽ đề nghị bạn chỉ cần sử dụng JavaScript.

0

Tôi không nghĩ rằng bạn có thể tránh Javascript ở đây để xử lý trước khi gửi để loại bỏ các trường biểu mẫu không thay đổi/trống.

Các vấn đề liên quan