2008/08/08(Fri) 17:48:02 編集(投稿者)
<pre><pre><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<HTML>
<HEAD>
<META http-equiv="Content-Type" content="text/html; charset=Shift_JIS">
<TITLE></TITLE>
<script>
document.onkeydown = function() {
alert(event.keyCode);
if (event.keyCode == 116) {
event.keyCode = 0;
event.returnValue = false;
return false;
}
else if (event.keyCode == 122) {
event.keyCode = 0;
event.returnValue = false;
return false;
}
else if (event.keyCode == 112) {
event.keyCode = 0;
event.returnValue = false;
return false;
}
else {
}
}
window.onhelp = function() { return false; }
function selectFile(of) {
of.selFile.click();
of.selText.value = of.selFile.value;
}
function aa(o) {
alert(o);
}
</script>
<style>
.t0 {
position:relative;
}
.t1 {
z-index:10;
position:absolute;
left:0;
top:0;
}
.t2 {
z-index:2;
position:absolute;
left:0;
top:0;
}
.t3 {
z-index:10;
position:absolute;
left:119px;
top:0;
background-color:transparent;
border:none;
}
</style>
</HEAD>
<BODY>
<div class="t0">
<form>
<input type=text class="t1" id="selText">
<input type=file class="t2" id="selFile">
<input type=button value=" " class="t3" id="selButton" onclick="selectFile(this.form)">
</form>
</div>
</BODY>
</HTML>
これで出来なかったらもう少し悩んでみてください。
スクリプトでクリックエミュレーションしているだけだからたぶんポストできるのでは
ないかと。
ASP タグをベタのHTMLに転換できない場合は・・・どーしましょね。
</pre></pre>
追記:
ただのテキストBOXを FileUpload のテキストの上に重ねています。
編集される場合を考慮すると、様々なイベントをハンドリングして
FileUpload のテキストBOXと同じようにしなければなりません。
が、問題は、FileUpload の value にスクリプトから書き込みが出
来ないこと。
ですので、お手軽手抜きで readonly にしちゃうのが適当な処置か
と考えます。