我有这个结帐页面(您必须添加一个项目),它使用在这个 jsFiddle中看到的 JavaScript / jQuery来显示/隐藏一些字段以获取单独的送货地址。显示时,我将所有字段的值设置为''
,隐藏时我将字段的值设置为与计费表单中它们各自的字段相同。
当您提交表单时,您应该被带到贝宝登录屏幕(尝试填写表单而不切换不同的送货地址并提交),但如果您切换送货地址,它只会返回到同一页面。
我已经调试到足以知道它正在修改字段,.val()
这会破坏表单。如果我注释掉这些位并使用开发工具手动切换可见性,或者如果我填写账单表格并且从不显示/隐藏运输(所以.val()
从不调用),一切正常。
如果您要查看该页面并尝试一下,如果您进入贝宝屏幕,您就知道它成功了,否则它只是回到同一页面(表单的操作是同一页面,但我可以'找不到任何处理数据的东西 - 完整的 php 页面可以在这里找到- 它是WPEC 购物车页面的修改版本
这是(大部分)相关的JavaScript:
$('#reveal-shipping').click(function(){
if ( $('.wpsc_checkout_table.table-2').is(':animated') ) return;
if( $('.wpsc_checkout_table.table-2').css('display') == 'none' ){
$('.wpsc_checkout_table.table-2').slideToggle();
$('.wpsc_checkout_table.table-2').find('input, select, textarea').val('');
document.getElementById('reveal-shipping').innerHTML = 'Ship to my billing address ←';
} else {
for ( i=0; i < fields.length; i++ ){
thisval = $(fields[i][0]).val();
$(fields[i][1]).val( thisval );
}
$('.wpsc_checkout_table.table-2').slideToggle();
document.getElementById('reveal-shipping').innerHTML = 'Ship to a different address →';
}
});
您可以在 jsFiddle和页面本身上找到其余部分
非常感谢任何帮助我真的坚持这一点!