Javascript函数不显示值或不将值写入文本框

Javascript函数不显示值或不将值写入文本框,javascript,asp.net,Javascript,Asp.net,基本上,我正在用javascript创建一个简单的函数来检查textbox值是否与原来的值发生了更改,如果是,则警告用户更改将产生的影响。如果用户单击“是”,则不执行任何操作,如果他们单击“否”,则我希望将文本框的值设置回他们应该使用的原始值 编辑 好吧,看来我搞错了问题的根源。似乎inpUsername是我拥有的一个隐藏输入,它从一开始就是空白的。如何在代码的asp部分正确设置它,以便它接受同一控件上另一个文本框的值 我目前有: <input type="hidden" id="inpU

基本上,我正在用javascript创建一个简单的函数来检查textbox值是否与原来的值发生了更改,如果是,则警告用户更改将产生的影响。如果用户单击“是”,则不执行任何操作,如果他们单击“否”,则我希望将文本框的值设置回他们应该使用的原始值

编辑

好吧,看来我搞错了问题的根源。似乎inpUsername是我拥有的一个隐藏输入,它从一开始就是空白的。如何在代码的asp部分正确设置它,以便它接受同一控件上另一个文本框的值

我目前有:

<input type="hidden" id="inpUsername" runat="server" value=
%#DataBinder.Eval(Container.DataItem,"txtUsername")%> />
/>
这将返回错误:BC30456:“DataItem”不是“System.Web.UI.Control”的成员。但是,如果在其输出到屏幕的“/>值周围添加额外的引号

所请求的txtUsername声明是:

<asp:TextBox ID="txtUsername" runat="server" CssClass="Textbox" Style="width:100%" 
onchange="checkForUsernameChange()"/>

var txtUsername=document.getElementById(“”)值;
在ID之前有一些空格。我很确定你想要:

var txtUsername = document.getElementById("<%=txtUsername.ClientID%>").value;
var txtUsername=document.getElementById(“”).value;
或者可能这些空格是有意使用的,在这种情况下,
确认
也应该包括这些空格。

var txtUsername=document.getElementById(“”)值;
在ID之前有一些空格。我很确定你想要:

var txtUsername = document.getElementById("<%=txtUsername.ClientID%>").value;
var txtUsername=document.getElementById(“”).value;


或者可能空格是有意的,在这种情况下,
确认
也应该包括这些空格。

只是一个旁注,但是
。value!==0
总是正确的,因为
。value
返回一个字符串,而不是隐式测试的数字类型
!==0
(因此
!==“0”
!=0
)。您是否检查了txtUsername/inpUsername是否符合预期?如果
document.getElementById(“”).value
为空,因此应为
inpUsername
,这也可能有助于将呈现的js添加到您的问题中。是的,inpUsername为null。不幸的是,这是我的问题。我如何在asp部分将其设置为等于txtexerName.value的值?我所做的任何事情似乎都会引发错误扫描您是否也添加了txtexterName声明?抱歉,现在,它已添加到上面的主要描述中,只是一个旁注,但是
。value!==0
始终为真,因为
。value
返回的字符串不是隐式测试的数字类型
!==0
(因此
!==“0”
!=0
)。您是否检查了txtUsername/inpUsername是否符合预期?如果
document.getElementById(“”).value
为空,因此应为
inpUsername
,这也可能有助于将呈现的js添加到您的问题中。是的,inpUsername为null。不幸的是,这是我的问题。我如何在asp部分将其设置为等于txtexerName.value的值?我所做的任何事情似乎都会引发错误扫描您是否也添加了txtexterName声明?抱歉,我的代码中没有空格,这是我第一次将代码放到文章中,因为无论什么原因,我似乎无法从这些文本框中获取输出值,它们绝对不应该是空白的,因为e我们缺少信息来回答您。我们可以假设txtUsername为空,这与以前的用户名不同……我确实是个白痴,从未设置隐藏字段的值,因此它正确为空。我不确定为什么其他框直到现在都没有生成值,尽管我的问题是我基本上要离开inpUsername blank,如何在开始时将值从txtUsername获取到inpUsername?下面的当前方法显然不起作用,您缺少“值:我的代码中没有空格,这只是因为这里的格式设置导致的,这是我第一次将代码放到帖子中。无论出于何种原因,我似乎无法从这些文本框中获取输出值,而且它们绝对不应该是空的,因为我们缺乏回答您的信息。我们可以假设txtUsername是空的,这与以前的用户名不同……我确实是个白痴,从未设置隐藏字段的值,因此它正确地为空。我不确定为什么其他框直到现在都没有生成值,但我的问题是我基本上把inpUsername保留为空,如何在开始时将值从txtexername获取到inpUsername?下面的当前方法显然不起作用,因为您缺少“值”: