2

DPM を使用して Authorize.net に送信するフォームを作成しています。クレジット カードの有効期限は、単一の変数で yyyy/dd としてフォーマットする必要があると思います。

HTML フォームで 2 つのフィールドを使用したいと思います。1 つは月用のドロップダウン選択フィールドで、もう 1 つは日付用です。2 つの HTML フォーム フィールドを 1 つの変数に結合して、送信時に正しくフォーマットされた 1 つの変数として Authorize.net に送信するにはどうすればよいですか?

これはjavascriptでできると思いますが、javascriptが無効になっていても毎回動作する必要があります.

ヘルプまたは別の提案をありがとう。

4

2 に答える 2

6

これが私がそれを処理した方法です。

あなたが提案したように、JavaScriptが有効になっているユーザーには、月と年の別々のドロップダウンが表示されます。JavaScript を使用しないユーザーには、適切な日付形式が示されているテキスト入力フィールドが表示されます。

フォームのコンテンツを元のサーバーに送り返すことは絶対に避けてください。これはDirect Post Methodを使用するポイントを無効にするためです。

JQuery を使用した基本的なコードを次に示します。

<form id="cart-form" action="...">
...

Expiration Date:
<div id="exp_date_wrap">
    <input name="x_exp_date" type="text" /> (format: mm/yy)
</div>

<select name="x_cc_month" id="x_cc_month" style="display:none">
    <option value="">-- month --</option>
    ...
</select>

<select name="x_cc_year" id="x_cc_year" style="display:none">
    <option value="">-- year --</option>
    ...
</select>

<script>
  $('#exp_date_wrap').hide();
  $('#x_cc_month, #x_cc_year').show();

  $('#cart-form').submit(function() {
    $('#x_exp_date').val(
      $('#x_cc_month :selected').val() + '/' +
      $('#x_cc_year :selected').val()
    );
  });
</script>

</form>
于 2013-07-23T02:07:33.127 に答える