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