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

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

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

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Q&A

解決済

2回答

2262閲覧

PHP セレクトボックスのセレクトを残したい

SONIK

総合スコア14

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

0グッド

0クリップ

投稿2016/07/07 01:26

編集2016/07/07 02:24

PHP初心者の者です。

複数行表示されているセレクトボックス(社員一覧)を表示し、
その下にあるテキストエリア(備考)にデータを追加するような
プログラムを作っています。

しかし、社員を選んだ後、呼出ボタンで登録済みの備考を呼び出すと
セレクトボックスのセレクト状態(フォーカス?)が外れてしまい、
備考編集後にそのまま登録ボタンを押すと、上手く社員と結び付ける
事が出来ません。

セレクトボックスのセレクト状態を保持する方法はあるのでしょうか?
よろしくお願い致します。

[補足]
ご指摘ありがとうございます。
現在はPOST REQUESTでsubmitの値を取得して備考データを呼び出して
います。

ただ、そうするとセレクトボックスの選択が消えてしまうのです。

PHP

1$result = $_REQUEST['sousin']; 2 3if($result == "登録"){ 4 //備考追加処理 5 update_bikou(); 6} 7if($result == "呼出"){ 8 //備考呼出 9 $bikou_data = read_Bikou(); 10} 11 12~~~~~~~~~~~~~~ 13 14<textarea rows="5" cols="40" name="bikou">$bikou_data</textarea> 15<input type="submit" name="sousin" value="呼出"/> 16<input type="submit" name="sousin" value="登録"/>

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

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

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

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

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

shi_ue

2016/07/07 01:45

セレクト状態?っていうのは、値を保持するってことでしょうか。当然できます。コードも何もない状態では答えられませんよ。
kei344

2016/07/07 02:12

ご自身で書かれたコードを質問文に追記いただいたほうが回答を得られやすいと思います。
kei344

2016/07/07 02:55

「セレクトボックス」周りのコードを追記されてはいかがでしょう。
guest

回答2

0

ベストアンサー

submitだと、サーバにデータが一旦転送されるので、ローカルの情報はリセットされてしまいます。なので、呼出ボタンはtypeをbuttonにして、$bikoudataはAjaxを使って呼び出すといいです。

それか、jsかjQueryを使って、呼出のタイミングで転送されてもフォームに入力された社員の値を保持するようにするかですね。いちいち、サーバに転送する無駄な動作を繰り返すので、オススメはしませんが。

投稿2016/07/07 02:48

FKM

総合スコア3624

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

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

SONIK

2016/07/07 02:57

なるほど。 データ転送を行なわない方法として、そういう方法があるのですね。 別の方にも回答頂きましたが、Ajaxというものを勉強する必要がありそうですね。 チャレンジしてみたいと思います。
FKM

2016/07/07 04:49

後者は、データ転送を行わないというよりは、転送しても一旦送られたデータをその都度呼び出す…という感じです。jQueryだとこんな感じで var shain = <?php print $shain; ?> //POSTから取得した値をスクリプト内に記述 $('社員入力フォームのid').val( shain); //html読込時に値を保持させる。
guest

0

その手の処理はajaxでテキストを呼び出すとよいです
PHP側はidを渡されたら備考のテキストを返すプログラムだけ用意します

投稿2016/07/07 02:10

yambejp

総合スコア114747

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

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

SONIK

2016/07/07 02:54

早期の返答、ありがとうございます。 ajax...勉強してみます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.49%

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

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

質問する

関連した質問