OKWAVEのAI「あい」が美容・健康の悩みに最適な回答をご提案!
-PR-
解決
済み

カーソルの位置指定

  • 困ってます
  • 質問No.222915
  • 閲覧数534
  • ありがとう数4
  • 気になる数0
  • 回答数2
  • コメント数0

お礼率 76% (55/72)

onload時にテキストボックス(name="text_box")にフォーカスが当たるようにしています。
onload時にtext_boxに値が入っていれば、カーソルは右寄せにするには
どうしたらいいのでしょうか。

selectで選択状態にして逃げてみたのですが
BackSpaceキーでtext_boxの値を修正する為、右寄せにした方が
都合がいいので、できるなら右寄せ方法を取りたいと思います。

text_boxの中身の文字数を数えて、その最後の文字数分の場所に
カーソルを持っていこう、と考えてみましたが
手間がかかるのと(ってオイ)カーソルの位置指定がわからず、撃沈でした。

onload時に「右寄せ!」という具合に、楽に指定する方法はないものでしょうか?
どなたかご存知の方、教えてください。
通報する
  • 回答数2
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

質問者が選んだベストアンサー

  • 回答No.2
レベル10

ベストアンサー率 35% (56/160)

Internet Explorer4以上でしか動かないと思いますが、
TextRangeオブジェクトを作って、動作させることはできます。
でも、全然ラクじゃないです。

var target = document.form[0].text_box;
var txtRange = target.createTextRange();
txtRange.move( 'character', target.value.length );
txtRange.select();

みたいな感じかな...
補足コメント
lovelypooh

お礼率 76% (55/72)

(補足とお礼を書くところ間違えました)
ありがとうございます。
misokaさんのおかげで自分関数(笑)できました。

機会がありましたらまたよろしくお願いします(ペコリ)。
投稿日時 - 2002-02-25 11:32:58
お礼コメント
lovelypooh

お礼率 76% (55/72)

misokaさん、回答ありがとうございます。
varというとJavaScript内の関数でしょうか?
ヒントを頂いたので、移動関数を作ってみます。
(また質問するかもしれませんが)

機会がありましたらまた教えてください(ペコリ)。
投稿日時 - 2002-02-25 11:05:18
-PR-
-PR-

その他の回答 (全1件)

  • 回答No.1
レベル12

ベストアンサー率 75% (398/526)

テキストボックス内でのカーソル位置を指定することは、できなかったと思います。 で、代替策ですが、IE5.5/NN6.2 では「フォーカスを当てた後に文字列を入れる」ことで、右寄せにできました。(NN4.7 ではダメでした。。) function my_onLoad() {   with (document.フォーム名) {     text_box.focus();     text_b ...続きを読む
テキストボックス内でのカーソル位置を指定することは、できなかったと思います。

で、代替策ですが、IE5.5/NN6.2 では「フォーカスを当てた後に文字列を入れる」ことで、右寄せにできました。(NN4.7 ではダメでした。。)

function my_onLoad() {
  with (document.フォーム名) {
    text_box.focus();
    text_box.value = text_box.value;
  }
}

万能な方法ではありませんが、参考になれば。
お礼コメント
lovelypooh

お礼率 76% (55/72)

leaz024さん、早速の回答ありがとうございます。
返事が遅くなってすみません。

onloadでフォーカスを当てていれば、どういう風に遷移してきても
必ず文字列を入れる前にフォーカスが当たった状態ですよね?
(何か日本語が変だ)

なのにどうしても左寄せになってしまうんです。

submitで自画面に遷移後にこの状態にしたい、というのが悪いのでしょうか?
ちなみにソース(抜粋)は

**********************************************************************
<BODY onload=test.text_box.focus()>

<%
    '=============================================================
    ' パラメータよりtext_boxの入力値を取得
    '=============================================================
      strtext_boxNo= Request.Form("text_box")
%>

<form name="test" action="test.asp?Mode=<% = Server.URLEncode(1) %>" target="_self" method="post" onsubmit="return Ftext_boxChk();">

<input type="text" name="text_box" value="<%=strtext_boxNo%>" size=7 maxlength=6 onKeyPress="FKeysPress()" style="ime-mode: inactive">

**********************************************************************

<input type>前でもう一度フォーカスを当てるとエラーが出てしまって・・・。
もうちょっとソースを読んで考えてみます。

『フォーカスを当てた後に文字列を入れると右寄せになる』というのは
大変ありがたい情報でした。

また機会がありましたらよろしくお願いします(ペコリ)。
投稿日時 - 2002-02-25 10:55:24
このQ&Aで解決しましたか?
関連するQ&A
-PR-
-PR-
こんな書き方もあるよ!この情報は知ってる?あなたの知識を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-
-PR-

特集


いま みんなが気になるQ&A

関連するQ&A

-PR-

ピックアップ

-PR-
ページ先頭へ