2

我正在创建一个表单以使用 DPM 提交给 Authorize.net。我相信信用卡到期日期必须在单个变量中格式化为 yyyy/dd。

我想在我的 html 表单上使用两个字段:一个下拉选择字段用于月份,一个用于日期。如何将两个 html 表单字段合并为一个变量,以便在提交时将其作为一个格式正确的变量提交给 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 回答
-2

如果您希望它在没有 JavaScript 的情况下工作,那么您将需要一个额外的步骤来处理表单提交,然后将最终信息显示给用户。然后他们可以将其提交给 Authnet 以使用 DPM。

于 2013-07-02T15:45:04.913 回答