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

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

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

Re[10]: ポストバック後のFOCUS先のIMEモードが


(過去ログ 49 を表示中)

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

■27006 / inTopicNo.1)  ポストバック後のFOCUS先のIMEモードが
  
□投稿者/ らぐんす (1回)-(2008/10/24(Fri) 14:40:55)

分類:[ASP.NET (VB)] 

ポストバック後のFOCUS先のIMEモードがdisabledになってしまいます。何故でしょう?

引用返信 編集キー/
■27023 / inTopicNo.2)  Re[1]: ポストバック後のFOCUS先のIMEモードが
□投稿者/ ま (146回)-(2008/10/25(Sat) 02:03:24)
No27006 (らぐんす さん) に返信
> ポストバック後のFOCUS先のIMEモードがdisabledになってしまいます。何故でしょう?
>
最小限の再現可能なHTMLかASPXを提示してもらえると助かりまっす。

ちなみに、IMEモードがDisabledというのはどのようにして確認しましたか?


引用返信 編集キー/
■27062 / inTopicNo.3)  Re[2]: ポストバック後のFOCUS先のIMEモードが
□投稿者/ らぐんす (2回)-(2008/10/27(Mon) 09:53:43)
説明足らずでした。

UpdatePanelにTextBoxとButtonを貼ります。

Partial Public Class _Default
Inherits System.Web.UI.Page

Protected Sub Button1_Click(ByVal sender As Object, ByVal e As EventArgs) Handles Button1.Click

End Sub


Protected Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs) Handles Me.Load
TextBox1.Style.Add("ime-mode", "active")
TextBox1.Focus()
End Sub
End Class

Buttonを押下後、フォーカスは正しくセットされますが、IMEモードが効きません。
メモ帳で見るとstyle="ime-mode:active;"となっていますが、挙動はdisabledと同等です。
なぜでしょうか?

引用返信 編集キー/
■27065 / inTopicNo.4)  Re[3]: ポストバック後のFOCUS先のIMEモードが
□投稿者/ ロック (131回)-(2008/10/27(Mon) 10:46:15)
↓ここの話を参考にすると
http://www.atmarkit.co.jp/fdotnet/dotnettips/207aspimemode/aspimemode.html

スタイルシートの解釈がブラウザによって異なるので
ブラウザ側の問題(仕様)の可能性もあるのでは?

引用返信 編集キー/
■27067 / inTopicNo.5)  Re[4]: ポストバック後のFOCUS先のIMEモードが
□投稿者/ らぐんす (3回)-(2008/10/27(Mon) 11:09:27)
初回Load時はFOCUSもIMEも問題ないのですが、ポストバック後のフォーカス取得時だけはIMEが効きません。
UpdatePanelを貼るとダメっぽいです。
ちなみにIE6です。
引用返信 編集キー/
■27068 / inTopicNo.6)  Re[5]: ポストバック後のFOCUS先のIMEモードが
□投稿者/ みきぬ (179回)-(2008/10/27(Mon) 11:42:33)
No27067 (らぐんす さん) に返信
> 初回Load時はFOCUSもIMEも問題ないのですが、ポストバック後のフォーカス取得時だけはIMEが効きません。
> UpdatePanelを貼るとダメっぽいです。
> ちなみにIE6です。

自分の環境(VB2005, IE6, WindowsXP)にて確認してみたところ、ポストバック時の TextBox1.Focus() が利きませんでした。
クリックしてフォーカスをあてれば、IMEは普通に使えました。
なお、UpdatePanel の外に置いた場合は、意図通りに動きました。

ATOK を使ってるんで、参考になるかどうかは分かりませんが…。
引用返信 編集キー/
■27070 / inTopicNo.7)  Re[6]: ポストバック後のFOCUS先のIMEモードが
□投稿者/ らぐんす (4回)-(2008/10/27(Mon) 13:45:15)
VS2005時はPostBack後のFocusが効かないのですが、VS2008は改善されています。
他にフォーカス移してからクリックして持ってくるとIMEは普通に使えます。

引用返信 編集キー/
■27082 / inTopicNo.8)  Re[7]: ポストバック後のFOCUS先のIMEモードが
□投稿者/ ま (149回)-(2008/10/27(Mon) 18:04:32)
No27070 (らぐんす さん) に返信
> VS2005時はPostBack後のFocusが効かないのですが、VS2008は改善されています。
> 他にフォーカス移してからクリックして持ってくるとIMEは普通に使えます。
>

”他にフォーカスを移して” から ”クリック” するとどうなります?

”他にフォーカスを移して”
<button style="position:absolute;left:-100px;top:-100px;" onclick="focus1()">Dummy</button>
<script>
function focus1() {
var o = event.srcElement;
TextBox1.focus();
o.style.display = "none";
}
</script>

UpdatePanel の onreadstatechange ?で
”クリック” をシミュレートします。枠外のボタンに。

UpdatePanel の更新時に、
”クリック” しようとするボタンの非表示を元に戻さないと2回目以降でスクリプトエラーに
なります。




引用返信 編集キー/
■27083 / inTopicNo.9)  Re[8]: ポストバック後のFOCUS先のIMEモードが
□投稿者/ ま (150回)-(2008/10/27(Mon) 18:06:49)
又は、

UpdatePanel の 更新ボタンに更新直後にフォーカスが当たるようにしておき、
0.5 秒のタイマーでテキストBOXにフォーカスを移すとか。



引用返信 編集キー/
■27125 / inTopicNo.10)  Re[9]: ポストバック後のFOCUS先のIMEモードが
□投稿者/ らぐんす (5回)-(2008/10/28(Tue) 13:28:10)
No27083 (ま さん) に返信

>UpdatePanel の onreadstatechange ?で
>”クリック” をシミュレートします。枠外のボタンに。
やり方がよく分からなかったので、setTimeoutの方で何とか問題解決しました。

なるべくAsp.Ajaxの機能だけでやりたかったのですが、大変に助かりました。
ありがとうございました。


引用返信 編集キー/
■27133 / inTopicNo.11)  Re[10]: ポストバック後のFOCUS先のIMEモードが
□投稿者/ らぐんす (6回)-(2008/10/28(Tue) 17:05:41)
ありがとうございました。
ASP.netの分厚い本買ってみます。
解決済み
引用返信 編集キー/


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

このトピックに書きこむ

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

管理者用

- Child Tree -