无法从Javascript访问隐藏的HTML元素
Unable to access hidden HTML elements from Javascript
在我的代码中,我有一个简单的字段,如下所示
<input ID="lblDocumentPath" Class="DefaultButtons" runat="server" ReadOnly="true" Visible="false"></input>
当我将visible属性设置为true时,元素被正确加载,JS能够读取它
document.getElementById(filePathLabel).value = arrRowsArray[1];
但是,由于属性设置为false,JS找不到元素。如果我在IE中打开DOM资源管理器,我看到的只是一个空的输入字段。
</input><//input>
不确定,我在这里做错了什么。请让我知道我忽略了什么愚蠢的错误。
编辑:
我想我快要疯了。我不确定,我在做什么了。无论如何,这是我通常做的。访问javascript 中的隐藏字段值
简单的东西,对吧。但显然我的代码根本找不到这个该死的字段。它只是不断地说,"lblDocumentPath在当前上下文中不存在
我花了3个小时,试图将一个隐藏字段传递给后面的代码(
当呈现服务器端字段时,其客户端id会发生更改。使用以下代码访问javascript中的字段,但如果您的javascript代码位于同一.aspx或.asmx文件-中,则该字段将起作用
document.getElementById("<%=lblDocumentPath.ClientID %>");
'visible'不是有效的html属性。如果要隐藏元素,请将样式属性设置为"display:none;"
<input ID="lblDocumentPath" Class="DefaultButtons" ReadOnly="true" style="display: none"></input>
什么是runat='server'
?您是否试图将asp.net服务器端控件的属性与html控件混合?它不会起作用。
JS解决方案:
使用隐藏输入字段的正确方法如下:
<input id="lblDocumentPath" type="hidden"></input>
通过遵循此格式,您仍然可以访问以下隐藏字段:
document.getElementById("lblDocumentPath");
查看更多:w3schools.com
jsfiddle:http://jsfiddle.net/j1w26new/
ASP.NET/jQuery解决方案:
如果通过ASP.NET级别将字段声明为隐藏,则它将显示为注释掉的块。要找到它,请使用以下方法:
var hiddenField = $("<%= lblDocumentPath.ClientID %>");
这将找到以下ASP字段:
<asp:HiddenField ID="lblDocumentPath" runat="server" />
- 如何设置html元素填充的动画
- 删除对HTML元素的拖动
- 如何使用jquery迭代具有相同属性的html元素并查找onclick事件
- 如何使用JQuery在Javascript中转换字符串中的HTML元素
- 一个html元素的克隆次数太多
- 使用AngularJS Directive WHITOUT$scope创建一个动态html元素
- 为什么我在Internet Explorer上看不到html元素
- 重新排列HTML元素的顺序并更改内容
- 使用.on动态添加jquery/js不知道的html元素
- 如果类不是一个选项,如何在使用 jQuery 时控制(避免)嵌套 html 元素的样式
- 如何将html元素添加到tampermonkey中
- 访问html元素值javascript
- 如何在HTML元素上创建函数,而不是将元素作为参数传递
- 自定义HTML元素属性未显示-Web组件
- 让HTML元素充当停止滚动的锚点
- 将html元素插入到文本字符串中,以匹配另一个html字符串
- 替换HTML元素中的字符
- 如何将html元素添加为生成的内容
- 如何使用JavaScript在没有html dom的情况下隐藏html元素
- 使用JS加载HTML元素