Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

ASP.net button onserverclick only works when onclick isn't defined

    protected void btnNext_Click(object sender, EventArgs e)
    {
        btnNext.InnerHtml = "CLICK";
    }

    <button type="submit" runat="server" onserverclick="btnNext_Click" id="btnNext">Next &gt;</button>

This works fine, but when I add an onclick event:

<button type="submit" runat="server" onserverclick="btnNext_Click" onclick="return checkForm();" id="btnNext">Next &gt;</button>

And in the head:

<script type="text/javascript">

    function checkForm() {

        if (document.getElementById("<%=lstChooseSpec.ClientID %>").value) {
            return true;
        } else {
            $.jGrowl("<strong>Warning!</strong><br />Please select an item", { sticky: true });
            return false;
        }
    }
</script>

It submits the form, but doesn't change the buttons text to 'CLICK'. The text only changes to 'CLICK' when the onclick() isn't defined, although the form is still submitting!

like image 258
Tom Gullen Avatar asked Jan 28 '11 15:01

Tom Gullen


1 Answers

try without 'return': <button type="submit" runat="server" onserverclick="btnNext_Click" onclick="checkForm();" id="btnNext">Next &gt;</button>
Or if you wanted checkForm() to control whether to post or not - do like this:

onclick="if (!checkForm()) return;"
like image 86
Roman Asanov Avatar answered Sep 27 '22 00:09

Roman Asanov