0

と の 2 つのフォームがform 1ありform 2ます。

form 1は 20 のデータ フィールドがあり、アクションは更新です。にform 2別のアクションがありますが、 から 20 フィールドのデータを取得したいと考えていますform 1

これを行う方法と方法はありますか?また、フォーム 1 とフォーム 2 は同じページにあります。

フォーム 2 に 20 個の非表示フィールドを配置するソリューションが既にあるので、フォーム 2 はそこから取得できますが、これは面倒です。しかし、もっと簡単なアイデアはありますか?

4

3 に答える 3

0

「問題」とは、PHP 開発者が何らかの時点で解決したものです。

これを行う最善の方法は、以前のフォームのデータを に保存すること$_SESSIONです。ただし、同じセッション中にフォームに記入している場合、これは有効な解決策になります。

ユーザーが複数の支払いフォームに記入する必要がある電子商取引サイトのようなものを構築している場合、または学生が複数フォームのテストに記入する大規模なテスト アプリケーションを構築している場合は、各フォームからのデータを DB に保存して関連付ける方がよい場合があります。それへUserId。このようにして、ユーザーは別の場所からフォームへの入力を続けることができます。

PS代わりにAJAXを使用している場合、ほとんどの場合、既存のアプリケーションの上に別の複雑なレイヤーを追加するだけです。特に JavaScript のスキルが限られている場合。

于 2012-08-18T07:01:24.460 に答える
0

あなたのソリューションは悪くなく、シンプルで Swift だと思います! しかし、唯一のより良い方法は ajax です。ajaxでは、フォームに限定されません。すべてのフォームからすべてのフィールドを取得して、手動で送信できます。
ajaxに慣れておらず、ajax 以外のソリューションを使用したい場合は、1 つのフォームを使用して、最後の 2 つのフォームのすべてのフィールドをこの新しい単一のフォームに配置し、1 つのアクション ファイルを使用してこのフォームに応答することができます。サーバー側では、一意のフィールドの値を確認できます。

クライアント側 :

<form action="test.php">

    <!-- fields of form 1 -->
    <input type="text" name="text1"/>
    <input type="text" name="text2"/>
    .
    .
    .
    <input type="text" name="text20"/>

    <!-- fields of form 2 -->
    <input type="text" name="text21"/>
    <input type="text" name="text22"/>
    .
    .
    .
    <input type="text" name="text40"/>

    <input type="submit" value="send"/>
</form>

サーバ側:

<?php
      if ( isset($_GET["text1"]) )
          //do related jobs to form 1 here, and you can use all of filled fields
      else
          //do related jobs to form 2 here, and you can use all of filled fields
?>
于 2012-08-18T06:49:36.257 に答える
0

フォーム 1 からのすべての入力をセッション変数に保存し、それをフォーム 2 に復元できます。そのために、すべての $_GET および $_POST 変数を $_SESSION 配列の要素に格納する関数を記述します (パラメーター名を次のように使用します)。キー)。

于 2012-08-18T06:40:23.270 に答える