2012-03-11 21 views
11

Sayfa geri göndermeye gitmeden önce javascript'te bir şeyler yapmak istiyorum.Bir şey yapmadan önce javascript asp.net anypostback

Herhangi bir asp.net geri yüklemesinden önce javascript işlevi nasıl çalıştırılır?

$('form').submit(function() { 
     alert('hello'); 
}); 

O çalışmıyor ... :(

cevap

16

ben asp.net forums yılında, yol bulmak ve codebehind bir bazı kod oldu.

Sadece bunu Page_Load olay işleyicinize ekleyin, javaScript dizesini olmasını istediğiniz şeyle değiştirin. Ben herhangi bir geri gönderme önce bu kodu yapmak istiyorum,

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

+1 Asp.net'de başka hiçbir yol çalışmıyor gibi görünüyor. eyval – nima

+1

+1 Bunun ne kadar eski olduğunu biliyorum, ama çok teşekkür ederim! Bana çok yardımcı oldu. – user3439065

+0

Bu cevabı düzenlemek için @ MartínCanaval teşekkürler. – Emech

5

Eğer asp en geri gönderme önce bir şey istemci tarafı yapmak istiyorsanız, örneğin asp:button ait OnClientClick özelliğini kullanmayı deneyin:

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

i biliyorum, ama ben sayfadaki asp elemanının çok var, değil özel bir düğme veya eleman – Emech

2

deneyin:

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

f true'u iade etmediğiniz sürece orm gönderilmeyecek ve bundan önce istediğiniz her şeyi yapabilirsiniz. Tabii ki confirm() çağrısı olmak zorunda değil.

+0

için Martin, hiçbir şey sordu çalışmıyor ... Ancak teşekkürler. – Emech

+0

Çok garip, test etmek için hangi tarayıcıyı kullanıyorsunuz? –

+0

çoğunlukla IE kullanıyorum, bu benim için de tuhaf… – Emech

0

bunu deneyin?

<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> 
İlgili konular