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

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

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

JSON(JavaScript Object Notation)は軽量なデータ記述言語の1つである。構文はJavaScriptをベースとしていますが、JavaScriptに限定されたものではなく、様々なソフトウェアやプログラミング言語間におけるデータの受け渡しが行えるように設計されています。

PHP

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

JavaScript

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

jQuery

jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

Q&A

1回答

2316閲覧

複数の入力フォームの値保持(selectbox)

php_user001

総合スコア5

JSON

JSON(JavaScript Object Notation)は軽量なデータ記述言語の1つである。構文はJavaScriptをベースとしていますが、JavaScriptに限定されたものではなく、様々なソフトウェアやプログラミング言語間におけるデータの受け渡しが行えるように設計されています。

PHP

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

JavaScript

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

jQuery

jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

0グッド

0クリップ

投稿2021/03/04 05:20

selectboxの値保持がしたいです。

【前提】
・selectboxは3つありプルダウンが連動するようにしています。
・selectboxの各optionタグはDBの情報をphpファイルでレンダリングしています。
・入力フォームは複数あります。

【実現したい事】
・POSTで送信した入力値にエラーがあった場合にリダイレクトしてselectboxの選択状態を保持をしたい。

php

1<?php 2 3$lv1 =""; 4$lv2 =""; 5$lv3 =""; 6 7$lv1 = $_POST['lv1']; 8$lv2 = $_POST['lv2']; 9$lv3 = $_POST['lv3']; 10 11 12//入力エラーがあった時 13$jsondata1 = json_encode($lv1); 14$jsondata2 = json_encode($lv2); 15$jsondata3 = json_encode($lv3); 16 17 18 19include('back.html'); 20die; 21 22?>

HTML

1<!DOCTYPE html> 2<html lang="en"> 3<head> 4 <script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1/i18n/jquery.ui.datepicker-ja.min.js"></script> 5 <script src="http://code.jquery.com/jquery-1.8.3.js"></script> 6 <script type="text/javascript"> 7 8 9 let jb_array1 = JSON.parse('<?php echo $jsondata1; ?>'); 10 let jb_array2 = JSON.parse('<?php echo $jsondata2; ?>'); 11 let jb_array3 = JSON.parse('<?php echo $jsondata3; ?>'); 12 13 console.log(jb_array1); 14 console.log(jb_array2); 15 console.log(jb_array3); 16 17 </script> 18</head> 19<body> 20 <form action="back.php" method="POST"> 21 <select name="lv1" id="lv1Pulldown"> 22 <option value="0" selected="selected">▼選択</option> 23 <option value="1">ファッション</option> 24 <option value="2">ドリンク・お酒</option> 25 <option value="3">パソコン・周辺機器</option> 26 </select> 27 <select name="lv2" id="lv2Pulldown" disabled="disabled"> 28 <option value="0">▼選択</option> 29 <option value="4" class="p1">バッグ</option> 30 <option value="5" class="p1">シューズ</option> 31                 //省略 32 <option value="12" class="p3">デスクトップPC</option> 33 </select> 34 <select name="lv3" id="lv3Pulldown" disabled="disabled"> 35 <option value="0">▼選択</option> 36 <option value="13" class="p4">アタッシュケース</option> 37 <option value="14" class="p4">ウエスト、ヒップバッグ</option> 38 //省略 39 40 <option value="38" class="p12">モニタセパレート型</option> 41 <option value="39" class="p12">サーバーマシン</option> 42 </select> 43 <input type="submit"> 44 </form> 45</body> 46</html>

実際のコードとは違いますが、まずはこの条件で送信した後に(入力エラーがあったら)値の保持ができるようにしたいです。

思いつくのは同じvalue値のoptionタグを取得して「selected」にする!
だと思うのですが、思うように行きません。

お手数おかけしますが、アドバイスお願いいたします。

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

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

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

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

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

guest

回答1

0

セッションに入れて、転送後セッション値をみてselectedを変えてください
場合によってはクッキーでもいけるかもしれません

投稿2021/03/04 05:59

yambejp

総合スコア114769

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

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

yambejp

2021/03/04 06:13

//from.php <?PHP session_start(); $a=isset($_SESSION["a"])?$_SESSION["a"]:null; $selected["a"]=["1"=>"","2"=>"","3"=>""]; if(!is_null($a)) $selected["a"][$a]=" selected"; var_dump($a); ?> <form method="post" action="to.php"> <select name="a"> <option value="">-</option> <option value="1"<?=$selected["a"]["1"];?>>1</option> <option value="2"<?=$selected["a"]["2"];?>>2</option> <option value="3"<?=$selected["a"]["3"];?>>3</option> </select> <input type="submit" value="send"> </form> //to.php <?PHP session_start(); $a=filter_input(INPUT_POST,"a"); if(empty($a)){ unset($_SESSION["a"]); }else{ $_SESSION["a"]=$a; } header("Location:from.php"); exit;
php_user001

2021/03/05 00:06

ありがとうございます。確認させていただきます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問