window.onbeforeunload在文本框中丢失值

时间:2014-06-13 12:15:41

标签: c# javascript jquery onbeforeunload hiddenfield

我有以下代码来检查用户导航时表单上的更改

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; }

但正如我所说,文本框的值是一个空字符串,而隐藏字段保留了它的值。

有谁知道为什么会发生这种情况以及如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

您确定文本框的选择器有效吗?

尝试:

console.log('#<%=txtForeName.ClientID%>').val());

在onbeforeunload中,看看你是否得到控制台中显示的值。