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

<A href=javascript:setValue('10:00')>10:00</A>

現在このような形でクリックした際に、inputのValueに10:000が入るようにしているのですが、
元々インプットに○○と入っていて、上記をクリックした場合「○○10:00」と入力されてしまいます。

これを「○10:00○」のような形で予めマウスで選択した箇所に10:00が入るようにしたいのですが、どのように設定すれば可能でしょうか。

A 回答 (2件)

一応こんな感じでチャレンジしてみてください



<script>
function setHoge(str){
var t=document.getElementById("hoge");
var p=0;
if(!document.selection){
window.getSelection();
p = t.selectionStart;
}else{
t.focus();
var range = document.selection.createRange();
range.moveStart( "character", - t.value.length );
p = range.text.length;
}
var v=t.value;
v=v.substr(0,p)+str+v.substr(p);
t.value=v;
}
</script>
<input type="text" value="abcxyz" id="hoge">
<a href="#" onclick="setHoge('10:00')">10:00</a>
    • good
    • 0

setValueの仕様がわからないのでなんとも言えませんが



>これを「○10:00○」のような形で予めマウスで選択した箇所に10:00が入るようにしたい

リンクを推した時点でフォーカスがリンク自体に移るので、マウスの選択した箇所というは
結構むずかしいかもしれません

この回答への補足

なるほど、やはりそうですよね。

<input type=test value="○ここに入れたい○">
<A href=javascript:setValue('10:00')>10:00</A>

補足日時:2014/05/26 14:28
    • good
    • 0

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