- - PR -
文字列全体にフォーカスをあてたい
1
投稿者 | 投稿内容 | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2008-03-11 13:10
以下のコードでフォーカスをあてています。
・ ・ <body onLoad="document.mainFORM.incode.focus()"> ・ ・ <input name="incode" type="text" value="2,222" size="1.5" maxlength="4" />'); ・ ・ 文字列全体にフォーカスをあてたいのですが、 I2,222というように、先頭にカーソルがきてしまいます。 これだと、一度deleteキー等で文字を削除してからでないと 入力できないです。 文字列全体にフォーカスをあてる方法をご教示願えればと書き込みました。 どうか、よろしくお願いします。 | ||||||||||||
|
投稿日時: 2008-03-11 13:26
こういうこと?
× focus ○ select #value と maxlength がおかしいけど・・・ | ||||||||||||
|
投稿日時: 2008-03-11 13:52
−−−−−−−−−−−−−−−
こういうこと? × focus ○ select −−−−−−−−−−−− すいません。○ selectというのはselectタグという ことでしょうか。 tabキーで項目間遷移すると、その項目全体にフォーカスが あたります。(1111という入力値があったとしたら1111全てが反転します。) ですが、focus()を使用すると全てが反転しないので、どうにかできないかという ご相談でした。 −−−−−−−−−−−−−−−−−−−−−− #value と maxlength がおかしいけど・・・ −−−−−−−−−−−−−−−−−−−−−− ご指摘の通りです。 | ||||||||||||
|
投稿日時: 2008-03-11 14:04
http://www.tohoho-web.com/js/form.htm#ElmText
| ||||||||||||
|
投稿日時: 2008-03-11 14:18
ひろれいさん、rainさんありがとうございます。
focusをselectに変更するとうまく行きました。 ですが、もう1つのパターンが上手くいきません。 javaScript内で以下の記述をしています。 incodeという入力フィールドを20行表示します。 矢印キーで上下の入力欄に遷移させます。 parent.detail.document.write('<table border="4" cellpadding="4" cellspacing="2">'); for(i=2 ;i<20 ;i++){ parent.detail.document.write('<td width="30" height="20" style="font- size:12px" align="right" ><input name="incode'+i+'" type="text" value="1234" size="1.5" maxlength="4" onkeydown="javascript:keydown('+i+')"/>'); parent.detail.document.write('</td>'); } function keydown(gyou) { //↑キー(38),↓キー(40)以外なら無視 if ((event.keyCode==38) || (event.keyCode==40)) { // ↓キー(40)の場合 if (event.keyCode==40) { line = gyou+1; } else { //↑キー(38)の場合 if (gyou ==2) { line = gyou; } else { line = gyou-1; } } var element = document.getElementById("incode"+line); element.select(); } } keydownの処理の中をelement.select();に変えてみたのですが 1234Iと最後にカーソルが移るだけで全体にはフォーカスが あたりませんでした。教えて頂いたことと同じことだと思うのですが 何がいけないのでしょうか。 | ||||||||||||
|
投稿日時: 2008-03-11 14:31
自己レスです。
onfocus="this.select()"をいれることにより 解決できました。 どうもすいませんでした。 | ||||||||||||
|
投稿日時: 2008-03-11 14:46
こんにちは
の部分を
にして後続のイベントに渡さないようにするか
にして keyupイベントで処理してみたらどうですか? おそらくkeydownイベントでfocusが移動しているけどその後 keyupイベントが 発生して選択状態が解除されているんじゃないですかね? 推測ですが... [ メッセージ編集済み 編集者: 末記人 編集日時 2008-03-11 14:47 ] |
1