我在.NET中使用母版页,我发现我无法使用ID来检索值,因为.NET会添加自己的id值。看到这篇非常有用的文章! Can't get JQuery to work in Master Page
所以我经历了所有相关领域的课程,但是当我的隐藏领域<asp:HiddenField ID="softwareSelected" value="" runat="server" />
我无法在其中添加一个类,在更多Google搜索之后,我看到人们通过调用clientID
来修复它。
所以我尝试了这个:
var myHidden = document.getElementById('<%= softwareSelected.ClientID %>');
console.log(myHidden.value);
alert(myHidden.value);
使用此答案:ASP.NET set hiddenfield a value in Javascript
但是它没有返回任何值,只是一个空警报和console.log。
有人能指出我正确的方向吗?这让我疯了!
修改
我在代码中将其设置得更高:
<asp:HiddenField ID="softwareSelected" ClientIDMode="static" value="test" runat="server" />
通过将ClientIDMode置于静态,我将返回undefined
然后我尝试像这样覆盖这个值:
var myHidden = document.getElementById('<%= softwareSelected.ClientID %>').value;
console.log(myHidden.value);
myHidden.value = "tester123";
console.log(myHidden.value);
但我仍然得到undefined
:/
答案 0 :(得分:2)
我测试过并为我工作过。我认为你的javascript代码在外部文件中。如果这是你必须知道
<%= softwareSelected.ClientID %>
仅适用于.aspx文件。
如果你的js脚本是.aspx文件,请测试一下:
var myHidden = document.getElementById('JsContent_ softwareSelected').value;
如果这不起作用,您必须搜索问题的其他地方。
答案 1 :(得分:0)
<强> ASPX 强>
<asp:HiddenField ID="softwareSelected" ClientIDMode="static" value="Hello" runat="server" />
<强> JS 强>
var myHidden = document.getElementById('softwareSelected');
console.log(myHidden.value);
alert(myHidden.value);