C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[1]: ファイルアップロード ファンクションキーの無効化


(過去ログ 43 を表示中)

[トピック内 7 記事 (1 - 7 表示)]  << 0 >>

■23094 / inTopicNo.1)  ファイルアップロード ファンクションキーの無効化
  
□投稿者/ SG勉強中 (1回)-(2008/08/08(Fri) 13:44:31)

分類:[ASP.NET (VB)] 

【開発環境】
Microsoft Visual Studio 2005 Version 8.0.50727.762 (SP.050727-7600)
Microsoft .NET Framework Version 2.0.50727 SP1
Microsoft Visual Basic
IE 6.0

こんにちは。
現在、WEBで開発中です。

ファンクションキー(F5、F11など)を画面で押下された場合、
イベントを無効化しています。

イベントonkeydown時に
該当するkeyCodeの場合
 event.keyCode = 0;
 return false;
で返しています。

しかし、asp:FileUploadコントロールの場合
 event.keyCode = 0;の時に、
 「htmlfile: アクセスが拒否されました。」のスクリプトエラーが
  起きてしまいます。

何かいい方法はあるでしょうか?

宜しくお願い致します。






引用返信 編集キー/
■23116 / inTopicNo.2)  Re[1]: ファイルアップロード ファンクションキーの無効化
□投稿者/ ま (98回)-(2008/08/08(Fri) 16:54:03)
<!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 {
	
	}
}

</script>

</HEAD>
<BODY>

<input type=file>

</BODY>
</HTML>


<input type=file> のテキスト内にフォーカス当てた状態で。
116ではリロード。
122では最大化・最小化。

引用返信 編集キー/
■23118 / inTopicNo.3)  Re[2]: ファイルアップロード ファンクションキーの無効化
□投稿者/ ま (99回)-(2008/08/08(Fri) 17:08:43)
なんかすごいニッチな不良見つけましたね。。。

window.onhelp = function() { return false; }

ちなみに、ファンクションキー関係全滅じゃないでしょかね?
F1 もダメでしたよ。

引用返信 編集キー/
■23119 / inTopicNo.4)  Re[2]: ファイルアップロード ファンクションキーの無効化
□投稿者/ SG勉強中 (2回)-(2008/08/08(Fri) 17:11:37)

やはりうまくいきません。

>event.keyCode = 0;
の時に、エラーが起きます。
htmlfile: アクセスが拒否されました。

引用返信 編集キー/
■23121 / inTopicNo.5)  Re[3]: ファイルアップロード ファンクションキーの無効化
□投稿者/ ま (100回)-(2008/08/08(Fri) 17:44:45)
2008/08/08(Fri) 18:14:27 編集(投稿者)
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 にしちゃうのが適当な処置か
 と考えます。

引用返信 編集キー/
■23122 / inTopicNo.6)  Re[4]: ファイルアップロード ファンクションキーの無効化
□投稿者/ ま (101回)-(2008/08/08(Fri) 17:49:14)
>やはりうまくいきません。

勘違いしているようだが、一言。

ミニマムコード載せないから、代わりに乗せただけす。
再現するコードですから。


引用返信 編集キー/
■23125 / inTopicNo.7)  Re[1]: ファイルアップロード ファンクションキーの無効化
□投稿者/ シャノン (564回)-(2008/08/08(Fri) 17:58:54)
No23094 (SG勉強中 さん) に返信

ぺたり
http://hpcgi1.nifty.com/MADIA/vbnet/wwwlng.cgi?print+200808/08080006.txt
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -