即使pagesource显示文本框之前的值,也会检测文本框中的文本

时间:2014-09-25 02:28:32

标签: javascript c# html asp.net

如果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页面上运行代码

2 个答案:

答案 0 :(得分:0)

试试这个:

由于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" />

答案 1 :(得分:0)

这个页面几乎可以解答所有问题。

http://forums.asp.net/t/1069194.aspx?Client+side+changes+not+reflected+in+page

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

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