我正在创建一个表单以使用 DPM 提交给 Authorize.net。我相信信用卡到期日期必须在单个变量中格式化为 yyyy/dd。
我想在我的 html 表单上使用两个字段:一个下拉选择字段用于月份,一个用于日期。如何将两个 html 表单字段合并为一个变量,以便在提交时将其作为一个格式正确的变量提交给 Authorize.net?
我怀疑这可以用 javascript 完成,但是,它必须每次都工作,即使 javascript 被禁用。
感谢您提供任何帮助或替代建议。
我正在创建一个表单以使用 DPM 提交给 Authorize.net。我相信信用卡到期日期必须在单个变量中格式化为 yyyy/dd。
我想在我的 html 表单上使用两个字段:一个下拉选择字段用于月份,一个用于日期。如何将两个 html 表单字段合并为一个变量,以便在提交时将其作为一个格式正确的变量提交给 Authorize.net?
我怀疑这可以用 javascript 完成,但是,它必须每次都工作,即使 javascript 被禁用。
感谢您提供任何帮助或替代建议。
以下是我的处理方式。
正如您所建议的,启用了 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>
如果您希望它在没有 JavaScript 的情况下工作,那么您将需要一个额外的步骤来处理表单提交,然后将最终信息显示给用户。然后他们可以将其提交给 Authnet 以使用 DPM。