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

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

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

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

Q&A

解決済

4回答

366閲覧

form1の値をform2で受け取る方法

shoooo

総合スコア34

PHP

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

0グッド

0クリップ

投稿2019/01/07 01:58

PHP

1<!DOCTYPE html> 2<html lang="ja"> 3 <body> 4 5<!--form1--> 6<form action="" method="post"> 7 <select name="id"> 8 <option value="">1</option> 9 <option value="2">2</option> 10 <option value="3">3</option> 11 </select> 12 <input type="hidden" name="btn" value="btn"> 13 <input type="submit" value="送信する"> 14</form> 15 16<!--form2--> 17<form action="" method="post"> 18<input type="text" name="id" value="<?php isset($_POST["btn"]) ? $_POST["id"] : ""; ?>"> 19</form> 20 21 </body> 22</html> 23

form1の送信ボタンを押したら、selectタグの値をform2で受け取りたいのですが、上の方法だと受け取れないので、なにかいい方法がありましたらご教授ください。

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

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

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

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

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

m.ts10806

2019/01/07 02:08

これを実現したとして何をしたい という大目的部分を記載されたほうが的確な回答を得やすくなりますよ。
guest

回答4

0

ベストアンサー

出力してないからでは??

PHP

1// <input type="text" name="id" value="<?php isset($_POST["btn"]) ? $_POST["id"] : ""; ?>"> 2<input type="text" name="id" value="<?= isset($_POST["btn"]) ? $_POST["id"] : ""; ?>">

投稿2019/01/07 02:23

mayoi_maimai

総合スコア1583

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

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

shoooo

2019/01/28 03:19

ありがとうございます!
guest

0

PHPによる処理はサーバ側の処理になるので、ページ読み込み後に変更することはできません。
ページ読み込み後に動的に変更するのであればJavaScriptを使用した方が良いでしょう。

JavaScriptでフォーム選択時にonChangeイベントで動的に変更する処理を追加すればよいかと思います。

投稿2019/01/07 02:05

dice142

総合スコア5158

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

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

dice142

2019/01/07 02:40

あ、送信ボタンを押してform2に値をセットしたいということですか。 であればmayoi_maimai様の回答にあるように出力していないのが原因ですかね。
guest

0

submit処理を奪ってサーバーを経由しないで別フォームに値を代入するならこうですかね

javascript

1<script> 2window.addEventListener('DOMContentLoaded', function(e){ 3 document.querySelector('#f1').addEventListener('submit',function(e){ 4 e.preventDefault(); 5 document.querySelector('#f2 [name=id]').value=e.target.querySelector('[name=id]').value; 6 }); 7}); 8</script> 9<form action="" method="post" id="f1"> 10 <select name="id"> 11 <option value="1">1</option> 12 <option value="2">2</option> 13 <option value="3">3</option> 14 </select> 15 <input type="hidden" name="btn" value="btn"> 16 <input type="submit" value="送信する"> 17</form> 18 19<form action="" method="post" id="f2"> 20<input type="text" name="id" value=""> 21</form> 22

投稿2019/01/07 02:39

yambejp

総合スコア114843

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

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

0

form1のPOST先を自分自身にすれば、POSTを受け取って、form2にセットすることは出来るのではないでしょうか。

投稿2019/01/07 02:19

KoichiSugiyama

総合スコア3041

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

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

m.ts10806

2019/01/07 02:51

action=""または属性無しの場合は自身がデフォルトです。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問