首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >javascript getelementbyid不起作用,因为id已更改

javascript getelementbyid不起作用,因为id已更改
EN

Stack Overflow用户
提问于 2012-05-16 00:00:01
回答 2查看 1.8K关注 0票数 1

好的,我想获取文本框的值,但是当我执行javascript代码getElementByID()时,文本框的id从原始值更改了,现在如何获取它??我甚至尝试将cliendIdMode=设置为“静态”,但不起作用。

代码语言:javascript
运行
复制
<script type="text/javascript" language="javascript">
    function uploadFileChange() {
        var tbox = document.getElementById('txtFileName').value;
        var fu = document.getElementById("FileUpload1").value;
        if (tbox != fu) {
            document.getElementById('txtFileName').value = document.getElementById("FileUpload1").value;
        }
        return false;
    }
</script>

原始文本框为:

代码语言:javascript
运行
复制
<asp:TextBox ID="txtFileName" CssClass="textbox" ClientIDMode="Static" runat="server"
                        Width="300px" ReadOnly="true" />

但后来它变成了:

代码语言:javascript
运行
复制
<input name="fuFileInfo$txtFileName" type="text" readonly="readonly" id="fuFileInfo_txtFileName" class="textbox" ClientIDMode="Static" onclick="fuFileInfo_FileUpload1.click();return false;" style="width:300px;" />
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-05-16 00:02:01

ASP.NET以不同于服务器端标记的方式呈现ID。

因此,使用ClientID来获取呈现的ID:

代码语言:javascript
运行
复制
var tbox = document.getElementById('<%=txtFileName.ClientID %>').value;
var fu = document.getElementById('<%=FileUpload1.ClientID %>').value;
票数 5
EN

Stack Overflow用户

发布于 2012-05-16 00:41:13

如果您希望使用jquery获取值,您可以执行以下操作

var tbox = $("[id$='txtFileName']").val();

这样做的目的是获取id以您要查找的id结尾(因此是$)的元素。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10604557

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档