javascripで取得idをphpでpostでそうしたいのですか誰か教えていただきませんか?
補足:
index.phpの<div id="param" name="param"></div>これのid="param"はjavascriptfで取ってきました。
name="param"はformのアクションのPOSTでconfirm.phpに渡していますがこれが渡されてないです
12.htmlの12をindex.phpファイルに取得し、さらに、index.phpファイルから <form action="confirm.php" method="post" >で送って、confirm.phpで表示したいのですがなかなかできません、
index.phpまでは取得できていますが、confirm.phpの中には取得できていません、
javascript.js
window.onload = function onLoad() {
param = GetQueryString();
target = document.getElementById("param");
target.innerHTML = param["q"];
}
function GetQueryString() {
if (1 < document.location.search.length) {
var query = document.location.search.substring(1);
var parameters = query.split('&');
var result = new Object();
for (var i = 0; i < parameters.length; i++) {
var element = parameters[i].split('=');
var paramName = decodeURIComponent(element[0]);
var paramValue = decodeURIComponent(element[1]);
result[paramName] = decodeURIComponent(paramValue);
}
return result;
}
return null;
}
index.php
こちらは12.htmlの12を表示させています。
<form action="confirm.php" method="post" onsubmit="return validate()" enctype="multipart/form-data">
<div><span>ID</span></div>
<div id="param" name="param"></div>
<button type="submit">確認画面へ</button>
</form>
下記はconfirm.phpにnameのparamのid値を取得したいです
<?php
if ($_SERVER["REQUEST_METHOD"] == "POST") {
$param = $_POST["param"];
?>
<form action="confirm.php" method="post">
<input type="hidden" name="param" value="<?php echo $param; ?>">
<div><span>ID</span></div>
<p><?php echo $param; ?></p>
<button class="submit-confirm" type="submit" name="submit">送信する</button>
</form>
-
気になる質問をクリップする
クリップした質問は、後からいつでもマイページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
クリップを取り消します
-
良い質問の評価を上げる
以下のような質問は評価を上げましょう
- 質問内容が明確
- 自分も答えを知りたい
- 質問者以外のユーザにも役立つ
評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。
質問の評価を上げたことを取り消します
-
評価を下げられる数の上限に達しました
評価を下げることができません
- 1日5回まで評価を下げられます
- 1日に1ユーザに対して2回まで評価を下げられます
質問の評価を下げる
teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。
- プログラミングに関係のない質問
- やってほしいことだけを記載した丸投げの質問
- 問題・課題が含まれていない質問
- 意図的に内容が抹消された質問
- 広告と受け取られるような投稿
評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。
質問の評価を下げたことを取り消します
この機能は開放されていません
評価を下げる条件を満たしてません
質問の評価を下げる機能の利用条件
この機能を利用するためには、以下の事項を行う必要があります。
- 質問回答など一定の行動
-
メールアドレスの認証
メールアドレスの認証
-
質問評価に関するヘルプページの閲覧
質問評価に関するヘルプページの閲覧
checkベストアンサー
+1
<!doctype html>
<html>
<head>
<meta charset="UTF-8">
<title>サンプル1</title>
</head>
<body>
<form action ="a.php" method="post">
<input type="hidden" name = "param" id ="param" value="">
<button type="submit" name="submit">送信する</button>
</form>
<script>
let a = 1;
let t = document.getElementById("param");
t.innerHTML = 33;
t.value = 1;
console.log(t);
</script>
</body>
</html>
<html>
<head>
<meta charset="UTF-8">
<title>サンプル2</title>
<?php
var_dump ($_POST);
$param = $_POST["param"];
?>
</head>
<body>
<form action="confirm.php" method="post">
<input type="hidden" name="param" value="<?php echo $param; ?>">
<button class="submit-confirm" type="submit" name="submit">送信する</button>
</form>
</body>
</html>!
投稿
-
回答の評価を上げる
以下のような回答は評価を上げましょう
- 正しい回答
- わかりやすい回答
- ためになる回答
評価が高い回答ほどページの上位に表示されます。
-
回答の評価を下げる
下記のような回答は推奨されていません。
- 間違っている回答
- 質問の回答になっていない投稿
- スパムや攻撃的な表現を用いた投稿
評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。
+1
index.php でとれているのであれば
<form action="confirm.php" ・・・・</form>
ここに
<input type="hidden" name="param" value="">
を記述してjavascript.jsの
target.innerHTML = param["q"];
しているところで一緒にinputのname="param"のvalueをparam["q"]にしてあげればいいんじゃないかと。
投稿
-
回答の評価を上げる
以下のような回答は評価を上げましょう
- 正しい回答
- わかりやすい回答
- ためになる回答
評価が高い回答ほどページの上位に表示されます。
-
回答の評価を下げる
下記のような回答は推奨されていません。
- 間違っている回答
- 質問の回答になっていない投稿
- スパムや攻撃的な表現を用いた投稿
評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。
+1
これでできると思うんですが
できなければ提示外のコードか別の問題じゃないかと
★が変更部分です。
window.onload = function onLoad() {
param = GetQueryString();
target = document.getElementById("param");
target.innerHTML = param["q"];
document.getElementById("example").value = param["q"];//★input name="example" のvalueをparam["q"]にするこれによりsubmitで$_POST["example"]で取れる
}
function GetQueryString() {
if (1 < document.location.search.length) {
var query = document.location.search.substring(1);
var parameters = query.split('&');
var result = new Object();
for (var i = 0; i < parameters.length; i++) {
var element = parameters[i].split('=');
var paramName = decodeURIComponent(element[0]);
var paramValue = decodeURIComponent(element[1]);
result[paramName] = decodeURIComponent(paramValue);
}
return result;
}
return null;
}
<form action="confirm.php" method="post" onsubmit="return validate()" enctype="multipart/form-data">
<input type="hidden" name="example" id="example" value=""><!--★-->
<div><span>ID</span></div>
<div id="param" name="param"></div>
<button type="submit">確認画面へ</button>
</form>
<?php
if ($_SERVER["REQUEST_METHOD"] == "POST") {
$param = $_POST["example"];//★
?>
<form action="confirm.php" method="post">
<input type="hidden" name="param" value="<?php echo $param; ?>">
<div><span>ID</span></div>
<p><?php echo $param; ?></p>
<button class="submit-confirm" type="submit" name="submit">送信する</button>
</form>
投稿
-
回答の評価を上げる
以下のような回答は評価を上げましょう
- 正しい回答
- わかりやすい回答
- ためになる回答
評価が高い回答ほどページの上位に表示されます。
-
回答の評価を下げる
下記のような回答は推奨されていません。
- 間違っている回答
- 質問の回答になっていない投稿
- スパムや攻撃的な表現を用いた投稿
評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。
15分調べてもわからないことは、teratailで質問しよう!
- ただいまの回答率 89.97%
- 質問をまとめることで、思考を整理して素早く解決
- テンプレート機能で、簡単に質問をまとめられる
質問への追記・修正、ベストアンサー選択の依頼
toutou
2017/03/30 16:03
return validate()は何を返してますか?
hyskyo
2017/03/30 16:35 編集
入力されたかチェックしています
toutou
2017/03/30 17:03
valueはどうやって確認してますか?
hyskyo
2017/03/30 17:13
確認していません、すみません、valueはどうやって確認しますか?
hyskyo
2017/03/30 17:20
confirm.phpにparamを渡せばいいですがそれを教えていただきませんか?
toutou
2017/03/30 17:30
自分が予想してるのは 、その前の時点で<div id="param" name="param"></div>に値が入ってないことです。target.valueをしたら見れるかと。
hyskyo
2017/03/30 17:43
id="param"には値が入っていて表示されていますがname="param"には値が入っていません。