ページにアパレル注文フォームがあります。ドロップダウンリスト/メニューからオプションを選択すると、そのフォームを別のものとスワップアウトする必要があります。多分アヤックス? PHP include()?ドロップダウンのオプションは、すでに別のディレクトリにテンプレートとして作成されている別のフォームを選択し、別のフォームの代わりにレンダリングします。ドロップダウンメニュー選択時に別のフォームに変更する
一度に1つのフォームしか表示されません。ありがとう! :)
ページにアパレル注文フォームがあります。ドロップダウンリスト/メニューからオプションを選択すると、そのフォームを別のものとスワップアウトする必要があります。多分アヤックス? PHP include()?ドロップダウンのオプションは、すでに別のディレクトリにテンプレートとして作成されている別のフォームを選択し、別のフォームの代わりにレンダリングします。ドロップダウンメニュー選択時に別のフォームに変更する
一度に1つのフォームしか表示されません。ありがとう! :)
できるだけ多くの隠しフォームを置いてはいけません。特にパフォーマンスに関しては、デザインが悪いだけです。
を満たしている場合の通信にAJAX要求を使用し、各
例:PHPで
var xhr = new XMLhttpRequest();
formID = (condition) ? 1 : 2; // etc
//^^ This one line above means:
if (condition) {
formID = 1;
}
else {
formID = 2;
}
...
// GET request
xhr.open("GET", "forms.php?formID=" + formID);
// POST request
xhr.send("formID=" + formID);
:
<?php
if (isset($_POST["formID"]) && $_POST["formID"] === 1):
?>
<form id = "1"></form>
<?php
else:
?>
<form id = "2"></form>
<?php
endif;
?>
[EDIT]:
あなたはその後、別のファイル内の各フォームを持つようにしたい場合は上記のコードは
JavaScriptで<form>...</form> // No PHP necessary
(フォームが別のファイルである場合にのみ、)の任意の値を入れずにxhttp.send("")
を使用しています。
私は少し初心者ですので、あなたのコードは私には少し曖昧です。私は各フォームのテンプレートを作成し、AJAXを使用して任意のページをページにレンダリングできると言っていますか? – Bigfootbud
正確に。あなたの2つのフォームを作成し、PHPがどのオブジェクトをレンダリングするかを決めるために、それらを 'if文 'の中に入れてください。 PHPは、AJAXリクエストで送信するデータに基づいて、どちらをレンダリングするかを決定します。本当に何でもかまいませんが、簡単にするために数字「1」と「2」を使用しました。 –
また、あなたがまだ知らない場合は、 'isset()'が存在するかどうかを確認してください。したがって 'if isset($ _ POST [" formID "])'はPHPがAJAXからデータを受け取ったかどうかを調べます。次に、表示するフォームを決定するためにその値をチェックします。 –
私は参考になる:http://stackoverflow.com/questions/3675006/how-to-switch-choose-between-html-forms – AkshayP
@AshkayPありがとう、私はそれを見て、それをテストしているが、そのようになります20のフォームのために働く? 50形?私たちは多くのスタイルを持っています。 1ページに多くのフォームが隠されていても問題はありませんか? – Bigfootbud