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

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

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

jQuery UI はjQuery公式のインターフェースライブラリであり、対話型のウェブアプリケーションを作る際に役立ちます。

PHP

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

jQuery

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

MAMP

Mac 上で WordPress などの動的ページのサイトが作れるように環境を構築するフリーソフト

Q&A

解決済

1回答

484閲覧

入力されたリスト情報をPOSTで取得し、それを他のページへ表示させたい

flexibler

総合スコア36

jQuery UI

jQuery UI はjQuery公式のインターフェースライブラリであり、対話型のウェブアプリケーションを作る際に役立ちます。

PHP

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

jQuery

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

MAMP

Mac 上で WordPress などの動的ページのサイトが作れるように環境を構築するフリーソフト

0グッド

0クリップ

投稿2023/02/07 15:38

目標

図1のようにテキストの入力・追加・削除ができる機能があり、そこで入力されたリスト情報を図2のように表示させたいです。

図1(l1.php)
イメージ説明
図2(l2.php)
イメージ説明

問題点

36行目より、追加する項目の name 属性がずっと「param3」になってしまいます。34行目あたりで「変数=3」を作成し、追加するごとに「変数+=1」ということができないかなと考えているのですが、答えにたどり着くことができませんでした。
どなたかご教授頂けると幸いです。

PHP(l1.php)

1<!DOCTYPE html> 2<html lang="ja"> 3<head> 4 <meta charset="UTF-8"> 5 <meta http-equiv="X-UA-Compatible" content="IE=edge"> 6 <meta name="viewport" content="width=device-width, initial-scale=1.0"> 7 <title>Document</title> 8 <link rel="stylesheet" href="https://ajax.googleapis.com/ajax/libs/jqueryui/1.13.2/themes/smoothness/jquery-ui.css"> 9</head> 10<body> 11 12<form action="l2.php" method='POST'> 13 <div class="container"> 14 <table> 15 <tbody> 16 <tr> 17 <td><input type="text" name="param1"></td> 18 <td><button class="remove"></button></td> 19 </tr> 20 <tr> 21 <td><input type="text" name="param2"></td> 22 <td><button class="remove"></button></td> 23 </tr> 24 </tbody> 25 </table> 26 <button id="addRow" type='button'>+ 追加</button> 27 </div> 28 <input type='submit'></button> 29</form> 30 31<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.3/jquery.min.js"></script> 32<script src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.13.2/jquery-ui.min.js"></script> 33<script> 34 $(function(){ 35 $('#addRow').click(function(){ 36 var html = '<tr><td><input type="text" name="param3"></td><td><button class="remove">✕</button></td></tr>'; 37 $('tbody').append(html); 38 }); 39 40 $(document).on('click', '.remove', function(){ 41 $(this).parents('tr').remove()}); 42 }); 43</script> 44</body> 45</html>

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

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

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

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

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

guest

回答1

0

ベストアンサー

追加する項目の name 属性がずっと「param3」

document.querySelectorAll('.container tr').length などでテーブル内の <tr> の数を数えて、それから name 属性値を作ればよいでしょう。

一般的には、こういう際限なく増える項目をフォームで送るときはすべて同一の name 値でよいです。1つの name 値に対して複数の値を送ることができます。受け取りが PHP なら、name="param[]" のように [] で終わる値にするとよいでしょう。

投稿2023/02/08 00:06

int32_t

総合スコア20884

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

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

flexibler

2023/02/08 03:10

ご回答ありがとうございます。 配列として取得できるんですね。 l2.php に下記コードを加えることで実現できました。 ご丁寧に教えて頂きありがとうございます。 <?php foreach($_POST['param'] as $value){ echo $value; echo '<br>'; } ?>
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問