私はブログ/スレッド項目を表示するHTMLページを生成するためにphpを使用していますが、いくつかの詳細を表示/非表示するにはjavascriptを使用しています。問題は、入力を処理するフォームが含まれている隠しコンテンツの各セットに対して一意のIDを生成していることです。フォームの処理では、どのブログアイテムが編集されたのかを知る必要があります。$ _POSTを使用したいと思います。私はかなりjavascriptに新しいです、そして、私はおそらくそこに使用できる解決策があると思います。動的に生成されたフォームを処理するPHP
私は、テキストをmysqlデータベースに保存して(私が働いている私のPHP関数の1つを呼び出して)、テキストが何であったのか、そしてthreadIdが何であるか教えてください。
ここにPHPコードスニペットがあります。ここで、$ threadDetailItemは、スレッドデータが入っている配列です。
foreach ($threadData as $threadDetailItem)
{
// display main line (a bunch of code here ...)
// append button to edit or delete the post for admin
if (isset ($_SESSION['isAdmin']) && $_SESSION['isAdmin'] == 'Y'){
// edit link opens content, and delete pops up a confirmation box
$el = sprintf ("editThreadLink_%d", $threadDetailItem['blogThreadId']);
$ec = sprintf ("editThreadContent_%d", $threadDetailItem['blogThreadId']);
$link1 = sprintf ("<a id=\"%s\" href=\"javascript:toggle('%s', '%s');\">+</a>", $el, $ec, $el);
$msg .= sprintf ("<li id=\"field6\">%s</li>\n", $link1);
}
$msg .= "</ul>\n";
echo $msg;
// now that the row is printed, lets add the hidden content if admin so they can edit
if (isset ($_SESSION['isAdmin']) && $_SESSION['isAdmin'] == 'Y'){
// hidden content to enable editing of the posting
$msg = sprintf ("<div id=\"%s\" style=\"display: none\">\n", $ec);
echo $msg;
echo "<form name=\"form\" method=\"post\" action=\"\">\n";
$msg = sprintf ("<textarea id=\"%s\" name=\"%s\">%s</textarea>\n",
$ec, $ec, $threadDetailItem['threadTitle']);
echo $msg;
$msg = sprintf ("<button type=\"submit\"> %s</button>\n", $lang->get('BLOG POST'));
echo $msg;
echo "</form>\n";
echo "</div>";
}
}
このイベントを処理するための良い方法については、非常に感謝しています。前もって感謝します。
データのフィールドは、blogThreadId、threadTitle、username、createdOn、lastUpdated、表示される(使用されない)、threadDetails(投稿情報を含む配列)です。
どのようなイベントを処理するか?また、サンプル '$ threadData'データを追加します。 – Baba
私のフォームに非表示のフィールドを追加することで、通常の投稿がユーザーがフィールドを更新したときのイベントであるtreadIdを知ることができます。 – jpporterVA
$ threadDataは私の質問の一番下に置く私のデバッグ機能でプリントアウトできるインスタンスです。ありがとう。 – jpporterVA