检测文本框中的文本,即使pagesource显示文本框以前的值

本文关键字:文本 显示 检测 即使 pagesource | 更新日期: 2023-09-27 18:24:14

我的问题很简单,如果DOM没有用户键入的文本框值,javascript如何检测用户在浏览器中键入的最新文本

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
    <script type="text/javascript">
        function showalert() {
            var x = document.getElementById('<%=txtbx.ClientID %>').value;
            alert(x);
            return false;
        }
    </script>
</head>
<body>
    <form id="form1" runat="server">
        <div>
            <asp:TextBox ID="txtbx" runat="server" Text=""></asp:TextBox>
            <input type="submit" onclick="return showalert();" value="OK" />
        </div>
    </form>
</body>
</html>

上面是我的代码。页面源不显示用户在文本框中键入的最新文本。该代码在所有浏览器和所有VS版本中都能类似地工作。我甚至在没有Visual Studio 的纯HTML页面上运行代码

检测文本框中的文本,即使pagesource显示文本框以前的值

试试这个:

由于return false;点击事件将不会激发或使用return true;

<script type="text/javascript">
        function showalert() 
        {
            var x = document.getElementById('<%=txtbx.ClientID %>').value;
            alert(x);
        }
    </script>

并始终为HTML元素定义ID和名称

<input type="submit" id="btnSubmit" name="btnSubmit" onclick="return showalert();" value="OK" />

这个页面几乎回答了所有问题。

http://forums.asp.net/t/1069194.aspx?Client+侧面+变化+未反映+在+页面

回复:客户端更改未反映在页面中2007年10月22日下午04:14 |链接

javascript所做的更改保存在内存中,不会反映在页面上。提交表单时,浏览器会提交更改后的值。将隐藏字段更改为文本框或其他内容,您可以在页面上看到正在更新的值。但是,当您查看源代码时,您会发现旧值。