1

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

<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>

原始文本框是:

<asp:TextBox ID="txtFileName" CssClass="textbox" ClientIDMode="Static" runat="server"
                        Width="300px" ReadOnly="true" />

但后来变成了:

<input name="fuFileInfo$txtFileName" type="text" readonly="readonly" id="fuFileInfo_txtFileName" class="textbox" ClientIDMode="Static" onclick="fuFileInfo_FileUpload1.click();return false;" style="width:300px;" />
4

2 回答 2

5

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

因此用于ClientID获取渲染的 ID:

var tbox = document.getElementById('<%=txtFileName.ClientID %>').value;
var fu = document.getElementById('<%=FileUpload1.ClientID %>').value;
于 2012-05-15T16:02:01.393 回答
0

如果你想使用 jquery 来获取你可以做的值

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

这将做的是获取 id 以(因此$)您正在寻找的 id 结尾的元素。

于 2012-05-15T16:41:12.767 回答