1

OK、テキストボックスの値を取得したいのですが、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 に答える