我有以下代码来检查用户导航时表单上的更改
window.onbeforeunload = confirmExit;
confirmExit是一个处理更改检查以及是否向用户显示消息的函数。但是在函数内部,我需要检查的文本框正在丢失它们的值,但是任何隐藏的字段都没有。
两个控件都在Page_Load上设置,如下所示:c#:
txtForeName.Text = personDetails.Forename;
ClientScript.RegisterHiddenField("hdnForename", personDetails.Forename);
在confirmExit函数中的标记中,我检索如下的值:
if ($("[id$='_txtForename']").val() != $('#hdnForename').val()) {
return true; }
但正如我所说,文本框的值是一个空字符串,而隐藏字段保留了它的值。
有谁知道为什么会发生这种情况以及如何解决这个问题?
答案 0 :(得分:1)
您确定文本框的选择器有效吗?
尝试:
console.log('#<%=txtForeName.ClientID%>').val());
在onbeforeunload中,看看你是否得到控制台中显示的值。