アプリ版:「スタンプのみでお礼する」機能のリリースについて

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

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

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

onload時に「右寄せ!」という具合に、楽に指定する方法はないものでしょうか?
どなたかご存知の方、教えてください。

A 回答 (2件)

Internet Explorer4以上でしか動かないと思いますが、


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

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

みたいな感じかな...

この回答への補足

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

機会がありましたらまたよろしくお願いします(ペコリ)。

補足日時:2002/02/25 11:32
    • good
    • 0
この回答へのお礼

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

機会がありましたらまた教えてください(ペコリ)。

お礼日時:2002/02/25 11:05

テキストボックス内でのカーソル位置を指定することは、できなかったと思います。



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

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

万能な方法ではありませんが、参考になれば。
    • good
    • 0
この回答へのお礼

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

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!