2011-11-15 37 views
20

Có một vài câu hỏi tương tự cho câu hỏi này nhưng không có câu hỏi nào giống nhau.Thực thi mã javascript ngay trước khi gửi trang

Tôi muốn biết nếu có sự kiện có thể được sử dụng để thực hiện một số JS trước khi trang được gửi (tức là Đã đăng).

Trả lời

22

Nếu bạn đang làm việc với biểu mẫu, bạn có thể sử dụng sự kiện onsubmit.

Sử dụng jQuery bạn có thể làm điều đó với

$('#myform').submit(function() { 
    // your code here 
}); 
+7

Phương pháp này không bao giờ có tác dụng đối với tôi. Biểu mẫu chỉ gửi như bình thường. – americanknight

+1

@americanknight bạn cần sử dụng phương pháp preventDefault để dừng thao tác nút. $ ('# myform'). Submit (function (e) { e. PreventDefault(); }); – ius

3

Có, bạn có thể sử dụng trên các sự kiện onsubmit vào mẫu của bạn.

Trong HTML thuần túy (không có jQuery), bạn có thể sử dụng:

<form onSubmit="mySubmitFunction()"> 
    ... 
</form> 

Xem thêm chi tiết ở đây: http://www.w3schools.com/jsref/event_form_onsubmit.asp

5

Bạn có thể ràng buộc một event handler cho sự kiện submit (mã sau đây giả sử bạn có một id trên số form):

document.getElementById("someForm").onsubmit = function() { 
    //Do stuff 
}; 
29

Cái gì như thế này?

<form onsubmit="do_something()"> 

function do_something(){ 
    // Do your stuff here 
} 

Nếu bạn đặt return như mã dưới đây, bạn có thể ngăn chặn việc nộp hình thức bằng cách trả lại sai từ do_something() chức năng.

<form onsubmit="return do_something()"> 

function do_something(){ 
    // Do your stuff here 
    return true; // submit the form 

    return false; // don't submit the form 
} 
Các vấn đề liên quan