3

我想要 asp:Button ,当我点击它时,我不希望它做回发,而是在 . 这是我的代码

    <script type="text/javascript">
        $(document).ready(function (e) {
            $('#<%=btn_comment_add.ClientID %>').click(function (e) {
                $('#comments').append('<div>asd</div>');
                return false;
            });
        });
    </script>

这是 asp.net 按钮

  <asp:Button ID="btn_comment_add" runat="server" Text="Gönder" CssClass="theme04" UseSubmitBehavior="false" />

我可以看到该代码添加了 div 但它回发了所以它被删除了。我只看到了新的 div :)

请帮我修复它,这样它就不会回发。非常感谢大家

4

5 回答 5

5

而不是ASP Button使用简单的 HTML 按钮并分配jquery您希望运行的功能,

<input type="button" name="btnname" onclick="MyJueryFunction()" />

把你的jquery写成

function  MyJueryFunction()
{
  $('#comments').append('<div>asd</div>');

 }
于 2013-02-07T16:26:41.973 回答
3

如果您不希望它回发,那么为什么要有一个 asp.net 按钮?在任何情况下,您都可以这样做:

  <asp:Button ID="btn_comment_add" runat="server" Text="Gönder" CssClass="theme04" UseSubmitBehavior="false" 
OnClientClick="return false;" />
于 2013-02-07T16:16:52.087 回答
2

摆脱UseSubmitBehavior.

当您将此设置为 false 时,ASP.NET 将添加一个客户端onclick事件,该事件将在您自己的 javascript 事件之前/之后触发,因此无论您在 click 事件中做什么来尝试阻止它回发,它都会。

查看页面的源代码,你会看到类似的东西;

javascript:__doPostBack(&#39;btnID&#39;,&#39;&#39;)

在按钮上

于 2013-02-07T16:22:21.713 回答
1

有几种方法可以实现这一目标。以下是另一种方式

    $("#<%=ButtonClick.ClientID %>").bind('click', function (e) {
         e.preventDefault();
         //Do Your work 
    });
于 2013-12-12T05:19:36.480 回答
0

在这种情况下,ASP 按钮必须通过一些验证来调用函数 //ASP 按钮

asp:Button ID="btnSave" runat="server" Text="Save" class="btn btn-success" OnClientClick="return Valid()" OnClick="btnSave_Click"

函数有效(){

        if ($("#ctl00_ContentPlaceHolder1_ddlLocation").val() == 0) {
            alert("Please select Location");
            $("#ctl00_ContentPlaceHolder1_ddlLocation").focus();
            return false;
        }

        if ($("#ctl00_ContentPlaceHolder1_txtArea").val().length == 0) {
            alert("Please Type Area");
            $("ctl00_ContentPlaceHolder1_txtArea").focus();
            return false;
        }
        return true;
    }
于 2015-11-03T11:11:27.687 回答