2

JQuery と HTML を使用してアプリケーションを作成しています。最初のフォーム i では、ID を入力するよう求められます。これがチェックされると、さらに情報を追加するよう求められます。私が抱えている問題は、2番目のページで送信を押した後、すべての情報をまとめて保存したいということです。これには、最初のページに入力されたIDが含まれます。

フォームは HTML を使用して作成され、機能は JQuery を使用して実行されます。これはPHPを使用して実行できることはわかっていますが、このアプリケーションにPHPを使用していないため、他の方法でこれが可能かどうか疑問に思っていました.

.js ページの 1 つでこれを使用しています。これは、ID を要求している最初のページの HTML です...

編集:

index.html

<script type="text/javascript" charset="utf-8">
$('#RegisterForm').submit(function(){
$.cookie('cardNumberRegField', $('#cardNumberRegField').val());
});
</script>   

<form id="RegisterForm" method="post" data-ajax="false" id="registerCardForm" 
      action="register.html"> 
        <input type="text" id="cardNumberRegField" type="tel"  name="cardNumber" 
               class="required number register" minlength="16" maxlength="16"/> 
        <input name="Submit" type="submit" class="button" value="Register"/>
</form>

register.html

<script type="text/javascript" charset="utf-8">
$('#AccountDetailsForm').submit(function(){
var cardNumberReg = $.cookie('cardNumberRegField');
$('#tfscCardNumber').val(cardNumberReg );
});
</script>

<form id="AccountDetailsForm" method="post" data-ajax="false" id="thankyoupage" action="thankyou.html">

<input  id="tfscCardNumber" type="hidden" name="tfscCardNumber" class="readonly" minlength="2" maxlength="20" readonly="readonly" disabled="disabled"/>            

誰か解決策を知っていますか?

4

3 に答える 3

4

次の方法で、あるページから別のページにデータを渡すことができます。

  1. クエリ文字列
  2. クッキー
  3. セッション(サーバースクリプトを介したユーザーベース)
  4. ローカルストレージ
于 2012-05-10T10:55:28.003 に答える
2

2 番目のフォーム ポストで保存する値は、2 番目のポストを受信するサーバーに保存するか (最初のフォーム ポスト中に)、2 番目のポスト中に再ポストする必要があります。

最初の投稿、つまり html ページへの投稿にサーバー側のテクノロジを使用していないように見えます。したがって、解決策は上記の 2 つの後者のように思われます。また、サーバー側のテクノロジーを使用していないため、最初のフォーム送信をキャッチし、値を Cookie に保存することを検討します。次に、2 番目のページで、フォームの投稿をキャッチして、Cookie から値を追加できます。

これを行うには、jquery.submitjquery.cookieを使用し、次のようなものを追加します。

編集: index.html

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="utf-8" />
        <!--[if IE]><![endif]-->
        <title></title>
        <script type="text/javascript" src="../_/js/jquery-1.5.2.min.js"></script>
        <script type="text/javascript" src="../_/js/jquery.cookie.js"></script>
        <script type="text/javascript">
            $(document).ready(function () { 
                $('#RegisterForm').submit(function () {
                    $.cookie('cardNumberRegField', $('#cardNumberRegField').val());
                });
            });
    </script> 
    </head>
    <body>
        <form id="RegisterForm" action="register.html">  
            <input type="text" id="cardNumberRegField" value="test" />  
            <input type="submit" value="Register" /> 
        </form>
    </body>
</html>

編集: register.html

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="utf-8" />
        <!--[if IE]><![endif]-->
        <title></title>
        <script type="text/javascript" src="../_/js/jquery-1.5.2.min.js"></script>
        <script type="text/javascript" src="../_/js/jquery.cookie.js" ></script>
        <script type="text/javascript">
            $(document).ready(function () {
                $('#tfscCardNumber').val($.cookie('cardNumberRegField'));
            });
        </script>
    </head>
    <body>
        <form id="AccountDetailsForm" action="thankyou.html"> 
            <input id="tfscCardNumber" type="text" value="undefined" /> 
        </form>
    </body>
</html>
于 2012-05-10T11:08:38.093 に答える
1

非表示の div でフォーム 1 から値を見つけて、フォーム 2 の送信時に取得できます。

于 2012-05-10T11:16:28.750 に答える