2014-09-25 52 views
0

我的问题很简单,如果DOM不会有一个文本框的值,其用户类型怎样的JavaScript检测浏览器用户键入的最新文本检测在文本框中的文本,即使pagesource显示文本框前值

<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版本中的工作方式类似。 我甚至跑一个普通的HTML页面的代码,而一个Visual Studio

+0

我发布了答案尝试, – 2014-09-25 08:46:50

回答

0

本页几乎可以回答所有问题。

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

回复:不反映客户端的变化 页2007年10月22日下午4时14 | LINK

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

0

试试这个:

由于return false;点击事件不会生火,或使用return true;

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

     } 
    </script> 

始终定义ID和姓名对于HTML元素

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

这正是我的观点与返回false的页面不张贴回服务器,但仍然javascript检测文本框中的最新值如何来? – 2014-09-25 17:28:08

+0

它将始终返回文本框中的最新值 – 2014-09-25 18:16:44