在 ASPX 中回发后按键不起作用
Posted
技术标签:
【中文标题】在 ASPX 中回发后按键不起作用【英文标题】:keypress not working after postback in ASPX 【发布时间】:2011-08-06 16:33:32 【问题描述】:我在 ASPX 页面中的文本框旁边有一个图像。我在 VS2010 中开发一个使用 jquery 的网络表单。在我点击页面上的按钮之前,一旦我按下任意键并且当我在文本框内时,我的图像就会消失。所以在发回之前一切正常。
但是,在我回发并在文本框中按任意键后,我的图像并没有消失。感谢您的任何建议。
<script type="text/javascript">
$(document).ready(function ()
$('#tbPassword').keypress(function ()
$('#imgPassword').hide();
);
);
</script>
<tr>
<td class="style53">
<asp:UpdatePanel ID="uppPassword"
runat="server">
<ContentTemplate>
<asp:TextBox ID="tbPassword"
runat="server"
TextMode="Password"
Width="200px">
</asp:TextBox>  
<asp:Label ID="lblPWCharacters"
runat="server"
CssClass="Label8g"
Text="(at least 6 characters)">
</asp:Label>
</ContentTemplate>
<Triggers>
<asp:AsyncPostBackTrigger ControlID="btnSignUp"
EventName="Click" />
</Triggers>
</asp:UpdatePanel></td>
<td align="left" class="style52" valign="baseline">
<img id="imgPassword" src="../Images/Red-Error-con.png" /></td>
</tr> <td class="style53"><asp:Button ID="btnSignUp"
runat="server"
Text="Sign up"
Width="88px"
TabIndex="2000"
OnClientClick="validateText()"/>
</td>
<td class="style52">
</td>
function validateText()
//not null password
if ($("#tbPassword").val())
passwordValid();
【问题讨论】:
【参考方案1】:您需要在每次更新时重新初始化它。您可以通过从更新面板捕获事件来做到这一点。
var prm = Sys.WebForms.PageRequestManager.getInstance();
prm.add_initializeRequest(InitializeRequest);
prm.add_endRequest(EndRequest);
function InitializeRequest(sender, args)
function EndRequest(sender, args)
$('#tbPassword').keypress(function ()
$('#imgPassword').hide();
);
【讨论】:
以上是关于在 ASPX 中回发后按键不起作用的主要内容,如果未能解决你的问题,请参考以下文章
jQuery 验证插件。回发后errorLabelContainer不起作用
RegisterClientScriptCode 在部分回发后不起作用
从 UpdatePanel 异步回发后,嵌入式 javascript 不起作用