是否有另一种方法可以使用onTextChanged for TextBox并避免每次刷新页面?

时间:2016-08-22 10:56:38

标签: javascript asp.net vb.net visual-studio-2010

我有一个JavaScript正在从文本字段进行一些计算,每次我传递其他文本字段时,在TextBox'onTextChanged'中调用JavaScript时需要AutoPostBack = True,但每次刷新我的页面时都会我每次都需要在TextBox上点击两次。

我已经尝试将这行代码放在PageLoad上,但它仍然需要'AutoPostBack = True'并且它还会刷新页面:

 CType(Me.FV.FindControl("txtLP_1"), TextBox).Attributes.Add("onblur", "javascript:startCalc();")

这就像PageLoad上的代码:

Protected Sub Page_Load(sender As Object, e As EventArgs) Handles Me.Load

    If Not IsPostBack Then

    End If

    CType(Me.FV.FindControl("txtLP_1"), TextBox).Attributes.Add("onblur", "javascript:startCalc();")

End Sub

1 个答案:

答案 0 :(得分:2)

每次在AutoPostBack="True"控件中更改值时,不是设置TextBox并重新调用帖子,为什么不通过jQuery(完全客户端)处理文本更改事件?

<head runat="server">
    <title></title>
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.3/jquery.min.js"></script>
    <script type="text/javascript">
        $(function () {
            $('#' + '<%: TextBox1.ClientID %>').on('input', function (e) {
                var value = $(this).val();
                alert(value);
            });
        });
    </script>
</head>
<body>
    <form id="form1" runat="server">
        <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
    </form>
</body>