2014-09-25 53 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