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

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

新規登録して質問してみよう
ただいま回答率
85.50%
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回答

1848閲覧

別windowでPOST送信したい・プレビュー画面を設置したい

extliger

総合スコア30

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グッド

1クリップ

投稿2019/04/15 03:26

いつもお世話になっています。
自分の知識不足で大変申し訳無いのですがお知恵を拝借できないでしょうか?

実現したい事
PHPとMYSQLを使ってデータをinsertしています。
登録の前に別windowを開いてプレビュー画面を設けたいと考えています。

PHPでSubmitデータを受け取る際には下記のようなコードで受け取っています。
下記は全てreg.php内に記述しています。

if (isset($_POST["submit_reg"])) { $name = $_POST["name"]; $body = $_POST["body"]; }

HTML上では下記のように書いています。

<script language="javascript"> function test() { window.open("", "ATMARK"); window.document.inform.action = "preview.php"; window.document.inform.target = "ATMARK"; window.document.inform.method = "POST"; window.document.inform.submit(); } </script>
<form action="" method="post" name="inform" enctype="multipart/form-data"> <input type="text" name="name" value="<?php print $name;?>"> <input type="text" name="body" value="<?php print $body;?>"> <input type="button" value="プレビュー画面" onclick="test();"> <input type="submit" name="submit_reg" value="登録"> </form>

プレビュー画面を押せばpreview.phpにジャンプしましてPOSTデータを取得しています。
登録をすればreg.php内で処理を行っています。

ただ現状ではプレビュー画面を押してしまうと登録を押した際にもpreview.phpに飛んでしまいます。

動作的な最終目的は
プレビュー画面をクリック→preview.php
登録→ページ内(reg.php)で処理、PHPのissetにしっかりと飛ぶようにしたい

となります。

大変お手数ですが何卒よろしくお願い致します。

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

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

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

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

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

guest

回答1

0

ベストアンサー

test()内でformのtargetを書き換えればどうでしょう?

sample

javascript

1<script> 2window.addEventListener('DOMContentLoaded', function(e){ 3 document.querySelector('#preview').addEventListener('click',function(e){ 4 var f=e.target.form; 5 f.target="preview"; 6 f.submit(); 7 f.target="_self"; 8 }); 9}); 10</script> 11<form method="post" id="inform"> 12<input type="text" name="name"> 13<input type="text" name="body"> 14<input type="button" value="プレビュー画面" id="preview"> 15<input type="submit" name="submit_reg" value="登録"> 16</form>

投稿2019/04/15 03:34

編集2019/04/15 03:40
yambejp

総合スコア114572

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

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

extliger

2019/04/15 04:01

いつもありがとうございます。 ご指摘の通り組み込みましたら動作いたしました! 大変勉強になりました! 追加でf.actionを入れまして、 submit後f.actionを空にする事でさらに思い描いていた通りになりました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問