Сделайте что-нибудь javascript перед asp.net anypostback - PullRequest
11 голосов
/ 11 марта 2012

Я хочу сделать что-то в javascript до того, как страница отправится назад.

Как запустить функцию javascript перед любой обратной передачей asp.net?

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

Не работает ...: (

Ответы [ 4 ]

17 голосов
/ 14 марта 2012

Я нахожу способ, на форумах asp.net , и это был какой-то код в коде позади.

Просто добавьте это в свой обработчик событий Page_Load, изменив строку javaScript на то, что вы хотите.

string scriptKey = "OnSubmitScript";
string javaScript = "alert('RegisterOnSubmitStatement fired');";
this.ClientScript.RegisterOnSubmitStatement(this.GetType(), scriptKey, javaScript);
5 голосов
/ 11 марта 2012

Если вы хотите сделать что-то на стороне клиента до обратной передачи asp, попробуйте использовать атрибут OnClientClick asp:button, например:

<asp:Button OnClick="submit" OnClientClick="myPrePostbackFunction()" Text="Submit" runat="server" ... />
2 голосов
/ 11 марта 2012

try:

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

Форма не будет отправлена, если вы не вернете true, а до этого вы сможете делать все, что хотите.Конечно, это не должен быть confirm() звонок.

0 голосов
/ 11 марта 2012

попробуйте это?

    <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>
...