0

作成しようとしているページに少し問題があります。履歴書では、ファイルがユーザーによって選択されているかどうかを検証し、サーバーにアップロードしたいと考えています。javascriptを介してそれを行うことが可能であることを私は知っています:

if(document.getElementById("uploadBox").value != "") {
   // you have a file
}

しかし、プロパティ runat="server" を入力に追加すると、次のようになります。

<input id="myFile" type="file" runat="server" />

もう検証できません。それで、私がやろうとしていることをする方法を知っていますか。

PS: javascript で検証してポストバックをキャッチし、ajax を使用してエラー メッセージを表示することに注意してください。そのため、サーバーコードを介して検証を行っていません。

ありがとうございました :)

4

1 に答える 1

1

これは、サーバー側で実行すると、入力コントロールの ID が変更されるために発生します。これを解決するには 2 つの方法があります。ID をこれと同じに保つように強制します。

<input id="myFile" type="file" runat="server" ClientIDMode="Static" />

または、同じ ASP ページに Javascript がある場合は、次のように ID を直接記述できます。

if(document.getElementById('<%= uploadBox.ClientID %>').value != "") {
   // you have a file
}
于 2013-04-29T13:37:44.223 に答える