Question

Is it possible to prevent the _doPostBack() call getting rendered on a button?

I would like add some custom logic prior to calling the postback.

I have added an onClick event to the button

e.g.

<button id="manualSubmit" runat="server" class="manual-submit" onclick="$('#jeweller-form').hide();"  />

However, this just gets rendered inline before the _doPostBack() But the postback gets fired before the jQueryHide takes place

I would like to call my own JS function then manually trigger the postback

any ideas?

Was it helpful?

Solution

Try this:

<button runat="server" id="Test" onserverclick="Test_ServerClick">Submit</button>

<script src="jquery-1.3.2.min.js" type="text/javascript"></script>
<script type="text/javascript">
    $(document).ready(function() {
        var o = $("#Test"), c = o.attr("onclick");
        o
        .removeAttr("onclick")
        .click(function(e) {
            o.fadeOut("slow", function() {
                o.fadeIn("slow", function() {
                    c(e);
                });
            });
            return false;
        });
    });
</script>

OTHER TIPS

Add return false; after the client-side code in the click event. In the HTMLControl, it didn't think it rendered __doPostBack; is the control that renders the _doPostBack, and the common way to prevent that for that control is:

<asp:Button ... OnClientClick="doThis();return false;" />

Which renders these JS statements before __doPostBack.

HTH.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top