Событие ServerClick в .NET при нажатии кнопки

Я пытаюсь запустить событие ServerClick в .NET при нажатии кнопки. он отлично работает, если я не добавляю onclick="return ValidateForm();"

<button runat="server" id="btn1" type="submit" onclick="return ValidateForm();">SAVE</button>

Я уже объявил функцию javascript в голове, как показано ниже:

<script>
    function ValidateForm(){
        //some validation code, return true/false
        return true;
    }
</script>

Кнопка ниже также работает нормально:

<button runat="server" id="btn1" type="submit" onclick="return true;">SAVE</button>

но если я добавлю onclick="return somefunction", это не сработает.

Что я делаю неправильно?

Спасибо


person Kartik Goyal    schedule 02.08.2014    source источник
comment
Как заголовок связан с вашим вопросом?   -  person Gergo Erdosi    schedule 02.08.2014
comment
Извините, система выбрала неправильный заголовок из файлов cookie, а я этого не заметил. Я изменил название.   -  person Kartik Goyal    schedule 02.08.2014
comment
Вы пытались добавить свою функцию внутрь $(document).ready();   -  person sakir    schedule 02.08.2014
comment
установить тип также в теге скрипта <script type="text/javascript">   -  person Ehsan Sajjad    schedule 02.08.2014


Ответы (1)


измените разметку на:

<button runat="server" id="btn1" type="submit" onclick="if( !ValidateForm() ) return false;" onserverclick="btn1_click">SAVE</button>

<script>
function ValidateForm() {
    //some validation code, return true/false
    return true;
}
</script>
  • не забудьте точку с запятой в конце атрибута onlick; Если вы проверите полученный HTML-код, вы поймете, почему!

Предполагая, что у вас есть обработчик кликов в коде C#:

protected void btn1_click(object sender, EventArgs e)
{
}

or VB:

Protected Sub btn1_click(sender As Object, e As System.EventArgs)
End Sub
person Michael B.    schedule 03.08.2014