2012-03-11 13 views

Trả lời

16

Tôi tìm cách, trong asp.net forums và đó là một số mã trong codebehind.

Chỉ cần thêm điều này vào trình xử lý sự kiện Page_Load của bạn, thay đổi chuỗi javaScript thành những gì bạn muốn xảy ra.

string scriptKey = "OnSubmitScript"; 
string javaScript = "alert('RegisterOnSubmitStatement fired');"; 
this.ClientScript.RegisterOnSubmitStatement(this.GetType(), scriptKey, javaScript); 
+1

+1 Nó có vẻ như không có cách nào khác hoạt động trong asp.net. eyval – nima

+1

+1 Tôi biết nó bao nhiêu tuổi, nhưng cảm ơn bạn rất nhiều! Nó đã giúp tôi rất nhiều. – user3439065

+0

Nhờ @ MartínCanaval để chỉnh sửa câu trả lời này. – Emech

5

Nếu bạn muốn làm điều gì đó client-side trước khi postback asp của, hãy thử sử dụng thuộc tính OnClientClick của asp:button, ví dụ:

<asp:Button OnClick="submit" OnClientClick="myPrePostbackFunction()" Text="Submit" runat="server" ... /> 
+0

tôi biết điều đó, nhưng tôi có nhiều yếu tố asp trên trang, tôi muốn làm mã này trước bất kỳ postback nào, không cho một nút hoặc yếu tố đặc biệt – Emech

2

thử:

$('form').submit(function() { 
    return confirm('you sure?'); 
}); 

Các f orm sẽ không được gửi trừ khi bạn trả lại true và trước đó bạn có thể thực hiện tất cả những gì bạn muốn. Tất nhiên, đây không phải là cuộc gọi confirm().

+0

nó không hoạt động Martin, không có gì được hỏi ... Tuy nhiên cảm ơn. – Emech

+0

Khá lạ, bạn đang sử dụng trình duyệt nào để kiểm tra? –

+0

chủ yếu là tôi sử dụng IE, đó là kỳ lạ đối với tôi quá ... – Emech

0

dùng thử?

<form name="someform"> 
    <input type="submit" value="" /> 
</form> 
<script type="text/javascript"> 
document.someform.onsubmit = function (e) { 
    e = e|| window.event; 
    if (!confirm ("sure?")){ 
     e.returnValue ? (e.returnValue = false): e.preventDefault(); 
    } 
} 
// then jquery version 
$("form").bind("submit", function (e) { 
    if (!confirm ("sure?")){ 
     e.preventDefault(); 
    } 
}) 
</script>