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