Hầu hết cũng không biết thực tế là bạn có thể phân biệt nút biểu mẫu được nhấn bằng cách chỉ cho chúng một cặp tên / giá trị. Ví dụ
<form action="process" method="post">
...
<input type="submit" name="edit" value="Edit">
<input type="submit" name="delete" value="Delete">
<input type="submit" name="move_up" value="Move up">
<input type="submit" name="move_up" value="Move down">
</form>
Ở phía máy chủ, nút thực được nhấn sau đó có thể nhận được bằng cách chỉ kiểm tra sự hiện diện của tham số yêu cầu được liên kết với tên nút. Nếu không phải vậynull
, thì nút đã được nhấn.
Tôi đã nhìn thấy rất nhiều của không cần thiết hacks JS / cách giải quyết cho điều đó, ví dụ như thay đổi hình thức hành động hoặc thay đổi một giá trị đầu vào ẩn trước tùy thuộc vào nút nhấn. Nó chỉ đơn giản là đáng kinh ngạc.
Ngoài ra, tôi đã thấy gần như nhiều phương pháp hack / cách giải quyết JS để thu thập những cái đã chọn của nhiều hộp kiểm như trong các hàng bảng. Trên mỗi lần chọn / kiểm tra hàng trong bảng, JS sẽ thêm chỉ mục hàng vào một số giá trị được phân tách bằng dấu phẩy trong một phần tử đầu vào ẩn, sau đó sẽ được tách / phân tích cú pháp thêm ở phía máy chủ. Đó là kết quả của việc bạn không biết rằng bạn có thể cung cấp cho nhiều phần tử đầu vào có cùng tên nhưng giá trị khác và bạn vẫn có thể truy cập chúng dưới dạng một mảng ở phía máy chủ. Ví dụ
<tr><td><input type="checkbox" name="rowid" value="1"></td><td> ... </td></tr>
<tr><td><input type="checkbox" name="rowid" value="2"></td><td> ... </td></tr>
<tr><td><input type="checkbox" name="rowid" value="3"></td><td> ... </td></tr>
...
Việc không biết sẽ đặt cho mỗi hộp kiểm một tên khác nhau và bỏ qua toàn bộ thuộc tính giá trị. Trong một số tình huống JS-hack / workaround-free, tôi cũng đã thấy một số phép thuật áp đảo không cần thiết trong mã phía máy chủ để phân biệt các mục đã chọn.