窗口.Onbeforeunload文本框中的丢失值

本文关键字:Onbeforeunload 文本 窗口 | 更新日期: 2023-09-27 18:08:24

当用户离开

时,我有下面的代码来检查表单上的变化
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; }

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

有谁知道为什么会发生这种情况以及如何修复它吗?

窗口.Onbeforeunload文本框中的丢失值

您确定文本框的选择器工作吗?

试题:

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

在onbeforeunload中查看是否得到了显示在控制台中的值