質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.37%
JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Q&A

解決済

1回答

841閲覧

JavaScript 選択中の文字を取得

退会済みユーザー

退会済みユーザー

総合スコア0

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

0グッド

0クリップ

投稿2021/08/24 17:01

前提・実現したいこと

ドラッグで選択中の文字を取得したいです
下記ただのテキストであれば取得できるのですが
input textの中身はドラッグしても取得できません
どうすればinput textの中身を取得できるでしょうか

該当のソースコード

<script> function test(){ var selObj = window.getSelection(); alert("選択した文字列: " + selObj); } </script> あいうえお <input type="text" id="txt1" value="かきくけこ"> <input type="button" id="btn1" value="ボタン" onclick="test();">

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

テキスト <input><textarea> 内のテキスト選択は特別で、getSelection() からは取得できません。

document.activeElement がそれらだったら、document.activeElement.value.substring(document.activeElement.selectionStart, document.activeElement.selectionEnd) のようにする必要があります。

投稿2021/08/24 17:17

int32_t

総合スコア21599

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2021/08/24 17:22

動かなかったんですが間違ってますか? <script> function test(){ alert(document.activeElement.value.substring(document.activeElement.selectionStart, document.activeElement.selectionEnd)); } </script> <input type="text" id="txt1" value="かきくけこ"> <input type="button" id="btn1" value="ボタン" onclick="test();">
int32_t

2021/08/24 17:32

ああ、ボタンを押すと activeElement がボタンになってしまいますね。ボタンを押して選択テキストを取得するのは必須条件ですか?
退会済みユーザー

退会済みユーザー

2021/08/24 18:12

できました <script> window.onload=function(){ Array.from(document.querySelectorAll("input[type='text']"), i => { i.addEventListener('focus', function() { activ_id=i.id; }); }); } function test(){ if(document.getElementById(activ_id)){ alert(document.getElementById(activ_id).value.substring(document.getElementById(activ_id).selectionStart,document.getElementById(activ_id).selectionEnd)); } } </script> <input type="text" id="txt1" value="あいうえお"> <input type="text" id="txt2" value="かきくけこ"> <input type="text" id="txt3" value="さしすせそ"> <input type="button" id="btn1" value="ボタン" onclick="test();">
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.37%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問