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

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

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

HTMLの<input type="text">で生成されるtextboxに関するタグです。

JavaScript

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

Q&A

解決済

2回答

1583閲覧

JavaScript:①ページを切り替え後、②選択テキストの値を選択状態にしたい。

mie.8

総合スコア28

textbox

HTMLの<input type="text">で生成されるtextboxに関するタグです。

JavaScript

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

0グッド

0クリップ

投稿2017/06/01 07:06

前提・実現したい事

JavaScriptを利用し、
①「投稿記事一覧ページ」 → 「編集ページ」 に切り替え。

②編集ページ内にある、選択テキストの値を選択状態にしたい
・・・と考えておりますが、上手く行かず困っております。

【例1】
投稿記事一覧のページ内に、「EDIT BOTTON」を作成し
ボタンを押すと、JavaScriptが起動し『編集ページ』が開かれる。

【例2】
編集ページ内に、「SELECT BOTTON」を作成し、
ボタンを押すと、JavaScriptが起動し『選択テキスト内の値を選択状態』にする。

上記、『例1・例2』のように、各ページにボタンを作成し
ボタンが押されたら処理が実行されるようにすると動作しますが、
2つの処理を1つにまとめると、【例1】の処理しか行われません。

発生している問題・Error Message

【実装テスト予想】
投稿記事一覧に、「EDIT SELECT BOTTON」を作成し、ボタンが押されたら
投稿記事一覧ページ → 編集ページ に切り替わり、選択テキストの値が、選択状態になっている。

【実装テスト結果】
投稿記事一覧に、「EDIT SELECT BOTTON」を作成し、ボタンを押すと・・・
投稿記事一覧ページ → 編集ページ に切り替わる。 のみです。
テキストの値が選択されず、困っております。

実際のソースコード

javascript

1/*****************************************************************************/ 2// ボタン押下後、編集ページに切り替え。 その後、 選択テキストの値を選択状態にする。 3/*****************************************************************************/ 4function editSelectBotton() { 5 6 /*---------------------------------------------------------------------------*/ 7 //編集ページに切り替え。 (同ウインドウ内で処理。別ウインドウで新たにページを開かない。) 8 /*---------------------------------------------------------------------------*/ 9 document.location.href = "https://○○.××.△△.□□"; // 編集ページURL 10 // alert("1"); // デバック用 11 12 /*---------------------------------------------------------------------------*/ 13 // 変数宣言 14 /*---------------------------------------------------------------------------*/ 15 var textID = "Select_Text_ID"; // 対象テキストID 16 // alert("2"); // デバック用 17 18 /*---------------------------------------------------------------------------*/ 19 // 選択指定 20 /*---------------------------------------------------------------------------*/ 21 document.getElementById(textID).querySelector("[title=トリュフ]").selected = true; 22 document.getElementById(textID).querySelector("[title=フォアグラ]").selected = true; 23 document.getElementById(textID).querySelector("[title=キャビア]").selected = true; 24 // alert("3"); // デバック用 25}

試した事

どこまで処理がされているか、デバック用に各ブロックの最後に、数字をアラート表示させました。
すると、ページが切り替わる時(画面が白くなる時)に、アラートで「"1" と "2"」が表示されました。

自分の中の考えでは、編集ページが完全に読み込まれていない(表示されていない)為、
コードの【選択指定】が読まれていないと考えました。

「window.onload」も試しましたが、結果は一緒でした。

補足情報(言語/FW/ツール等のVersion)

Browser → IE,Google Chrome

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

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

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

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

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

guest

回答2

0

Ajaxなどではなく、本当に遷移してしまったらそれまでのスクリプトはなくなってしまいます。
遷移するならURLパラメーター(あるいはハッシュ)なりCookieなりで値を渡したうえ、遷移先でそれらを処理する必要があります。

投稿2017/06/01 07:30

x_x

総合スコア13749

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

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

mie.8

2017/06/02 00:02

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

0

ベストアンサー

document.location.hrefは「移動」なので画面が完全に切り替わります。
alert()が出力されたのは一瞬で切り替わるわけではないためです。
一覧画面にはSelect_Text_IDという名のコントロールはありませんよね。
デベロッパーツールなどで見るとコンソールにページ遷移の直前にエラーが出ているはずです。

ご提示のソースのように固定情報を表示させたいのであれば編集ページ側で
window.onloadを発生させてselectの処理をすると良いでしょう。
一覧画面→編集画面で何か情報を渡したいのであればQueryStringなどを使うと良いでしょう。

投稿2017/06/01 07:29

編集2017/06/01 07:33
m.ts10806

総合スコア80850

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

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

mie.8

2017/06/02 00:03

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問