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

同一ページのリンクをクリックした時に、あるテキストボックスのフォーカスのある場所に文字を挿入したい。

#テキストボックスのnameは取得せずに。
#「フォーカスがある場所へ」限定。

<A HREF="javascript:function voi(){};voi()" onClick="document.main.☆この辺わからない☆='文字'">入れる</A>

↑ここをクリックするとフォーカスのあるところに入る。


というようなことはできますか?

A 回答 (3件)

少し異なりますが以下の方法はどうでしょう?



<input type=text onclick=FocusIn(this) onBlur=ForcusIn(this)>

function FocusIn(i){
for(n=0;n<document.formName.elements.length;n++){
if(i==document.formName.elements[n]){ FORCUS=n; }
}
FORCUS=n;
}

そしてクリックする場所を

<A HREF=# onclick=ValueIn('value')>INPUT</a>

function ValueIn(i){
n=FORCUS;
document.formName.elements[n].value=i;
}

とすればいいのではないでしょうか?
    • good
    • 0
この回答へのお礼

回答ありがとうございました。また、完全サンプルまでご提供ありがとうございました。

自分のやりたい予定の内容のものセットして使ってみましたが、問題なく利用できました。Nameを気にしなくてもいいので、各種の入力の際にとても汎用的につかえるツールになりそうです。(会社のイントラ)

活用させていただきます。(^O^)

お礼日時:2002/05/17 17:51

SAMPLE/*********************



<html>
<head>
<script language="JavaScript">
<!--
var FORCUS=-1;

function PROGRAM_1(i){
for(n=0;n<document.forms[0].elements.length;n++){
if(i==document.forms[0].elements[n]){ FORCUS=n; }
}
}
function PROGRAM_2(i){
n=FORCUS;
if(n!=-1){
document.forms[0].elements[n].value=i;
}
}
//-->
</script>
</head>
<body>
<form>
<input type=text onclick="PROGRAM_1(this)">
<input type=text onclick="PROGRAM_1(this)">
<input type=text onclick="PROGRAM_1(this)">
<input type=text onclick="PROGRAM_1(this)">
<br>
<a href=# onClick=PROGRAM_2('9880')>password</a>
<br>
<a href=# onClick=PROGRAM_2('3178')>ID</a>
</form>
</body>
</html>
    • good
    • 0

できません。



アンカーをクリックした瞬間に、直前までテキストボックスにあったフォーカスが
アンカーに移りますから。

テキストボックスを name などで特定すれば、できる可能性があります。
フォーカスが移動してもカーソル位置を覚えてますから。

でも、NetscapeNavigator の JavaScript では、カーソル位置に文字を挿入する
ということはできません。IE の JScript ならできるかも。

参考URL:http://developer.netscape.com/docs/manuals/commu …
    • good
    • 0
この回答へのお礼

回答ありがとうございます。

>アンカーをクリックした瞬間に、直前までテキストボックスにあったフォーカスがアンカーに移りますから。

この説明を聞くとなるほどと思います。
それではやはり、nameなどで特定する方法での処理としてやりたいと思います。

#フォーカスも奥が深い・・ (^^;

お礼日時:2002/05/17 13:54

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