Có cách nào để xác định yếu tố nào đã gửi biểu mẫu từ bên trong trình xử lý onsubmit không? Cố gắng viết một trình xử lý chung để biết phần tử nào đã được nhấp. Ví dụ: được cung cấp biểu mẫu này:Xác định yếu tố nào đã gửi biểu mẫu từ bên trong onsubmit
<form onsubmit="onSubmitHandler">
<input type="submit" name="submit1" />
<input type="submit" name="submit2" />
</form>
Làm cách nào để xác định bên trong nút onSubmitHandler đã gửi nút nào? Tôi đã thử event.target/event.srcElement, nhưng nó cung cấp cho biểu mẫu, chứ không phải nút gửi thực tế.
Cập nhật: Tôi đang viết một điều khiển chung ở đây, do đó, nó không có ý tưởng những gì trên biểu mẫu. Giải pháp cần phải làm việc mà không cần biết và thay đổi html của biểu mẫu. Dự phòng của tôi là đi bộ DOM để tìm tất cả các nút có thể gây ra gửi, nhưng tôi muốn tránh điều đó.
Không có bảo đảm rằng bất kỳ nút gửi nào đã được nhấp. Ví dụ. Gửi bởi JS (form.submit()) sẽ dẫn đến không có giá trị nút nào được bao gồm trong bài đăng trở lại –
Điều đó cũng tốt. Một chút nền tảng về vấn đề này: đây là một thành phần AJAX.Tôi đang hủy bản đệ trình đầu tiên, làm việc của riêng tôi, và sau đó tôi cần chạy lại lần gửi đầu tiên khi nó xảy ra, với tất cả các giá trị biểu mẫu chính xác. Theo như tôi đã có thể xác định, cách duy nhất để làm điều này là để đi bộ DOM và thêm xử lý bấm vào bất cứ điều gì có thể gây ra một trình, và sau đó lưu đó. Giả sử điều cuối cùng được nhấp vào là thứ đã gửi biểu mẫu và sau đó gọi .click() trên đó khi tôi cần gửi lại biểu mẫu. –