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

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

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

HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

POST

POSTはHTTPプロトコルのリクエストメソッドです。ファイルをアップロードしたときや入力フォームが送信されたときなど、クライアントがデータをサーバに送る際に利用されます。

PHP

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

Q&A

3回答

6183閲覧

a href でPOSTしたい

Momoco

総合スコア7

HTML5

HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

POST

POSTはHTTPプロトコルのリクエストメソッドです。ファイルをアップロードしたときや入力フォームが送信されたときなど、クライアントがデータをサーバに送る際に利用されます。

PHP

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

0グッド

0クリップ

投稿2017/09/28 15:21

a href でPOSTしたいのですが、リンク先には飛びますが
POSTデータが空になってしまいます。
何か書き方の間違いなどありますでしょうか?

htmlは、Smartyで動的生成されます。

a href を使った方法で実現させる方法がありましたらご教授お願いします。

HTML

1 2<!doctype html> 3<html> 4<head> 5 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 6 <title>test</title> 7 <link rel="stylesheet" type="text/css" href="/css/main.css"> 8 <!-- jQuery --> 9 <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script> 10</head> 11<body> 12<table class="table" id="table"> 13 <form method="post"> 14 <tr class="info"> 15 <input type="hidden" name="id" value="rec1" /> 16 <td>1</td> 17 <td>男</td> 18 <td>更新日2017/09/28</td> 19 <td> 20 <a href="confirm.php" onClick="document.download.submit();return false;">更新</a> 21 </td> 22 <td> 23 <a href="del.php" onClick="document.download.submit();return false;">削除</a> 24 </td> 25 </tr> 26 </form> 27 28 <form method="post"> 29 <tr class="info"> 30 <input type="hidden" name="id" value="rec11" /> 31 <td>2</td> 32 <td>女</td> 33 <td>更新日2017/09/28</td> 34 <td> 35 <a href="confirm.php" onClick="document.download.submit();return false;">更新</a> 36 </td> 37 <td> 38 <a href="del.php" onClick="document.download.submit();return false;">削除</a> 39 </td> 40 </tr> 41 </form> 42</table> 43</body> 44</html>

PHP

1<?php 2 var_dump($_POST); 3?>
結果 array(0) { }

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

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

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

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

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

guest

回答3

0

html

1<form method="post" name="download" action="confirm.php" > 2 3<input .....>4 5 6<a onClick="document.download.submit();return false;">更新</a> 7 8 9 10</form> 11

フォームの宛先はformのactionに書きます。それはa要素でsubmitするときも変わりません。

html5はhref属性を必須としていないのでここではなくていいです。
※a要素のhref省略の意味がどうのこうのっていう話は、そもそも論でsubmitはaじゃなくてinput[type='submit']やbutton[type='submit']とかでやるところなので無視です。良くないのは知ってますが、文法上のレベルでOKなのでOKです。

それと2つあるフォームが同じ名前なのはまずいと思うので download2,download2みたい名前を変えるべきでしょう。そのときはonClick="document.download1.submit();return false;">みたいにします。

投稿2017/09/28 15:40

oskbt

総合スコア1895

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

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

0

他の方も書かれているように POST なら form タグの action に
処理を依頼するスクリプトを書くようにしましょう。
て、更新と削除で飛び先を分けたいなら、JavaScriptで
動的に form の action を書き換えたのちに submit
するのがお手軽ですかねえ。

投稿2017/09/28 22:32

takasima20

総合スコア7458

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

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

0

適当にしか見ていませんので、間違っているかも知れませんが、doucment.form名で定義しているのでしたら、

<form name="form名" method="POST" action="confirm.php">

みたいにする必要があると思います。
また、2つformがあるようですので、今はどちらもdownloadとなっていますが、それぞれ別のform名にしてあげる必要がありそうです。

投稿2017/09/28 15:36

編集2017/09/28 15:44
hippoco

総合スコア18

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

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

退会済みユーザー

退会済みユーザー

2017/09/28 22:42

テンプレートエンジンのループによる作成っぽいよ
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

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

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

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問