我有一个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
答案 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>