ecshop购物车订单提交校验原理
2011-03-14 22:07 来源:www.chinab4c.com 作者:熊斌
在研究ecshop二次开发的过程中,必须知道ecshop购物车订单提交校验原理.我们修改ecshop.就肯定会牵涉到ecshop购物车的问题。ecshop购物车在提交订单的哪个流程,是非常复杂的。
首先我们看ecshop购物车的flow.php中的checkout.在这里面,不但要可以显示ecshop购者的收货地址,还需要显示ecshop购物车中的商品。这个页面还有支付方式的选择,配送方式的选择,积分和红包的使用。都在这个页面.
首先我们看这个页面的校验js.查看form中的 onsubmit="return checkOrderForm(this)
这个函数被包含在js/shopping_flow.js里面,我们打开ecshop的js.可以看到checkOrderForm()函数.
function checkOrderForm(frm)
{
var paymentSelected = false;
var shippingSelected = false;
// 检查是否选择了支付配送方式
for (i = 0; i < frm.elements.length; i ++ )
{
if (frm.elements[i].name == 'shipping' && frm.elements[i].checked)
{
shippingSelected = true;
}
if (frm.elements[i].name == 'payment' && frm.elements[i].checked)
{
paymentSelected = true;
}
}
if ( ! shippingSelected)
{
alert(flow_no_shipping);
return false;
}
if ( ! paymentSelected)
{
alert(flow_no_payment);
return false;
}
// 检查用户输入的余额
if (document.getElementById("ECS_SURPLUS"))
{
var surplus = document.getElementById("ECS_SURPLUS").value;
var error = Utils.trim(Ajax.call('flow.php?step=check_surplus', 'surplus=' + surplus, null, 'GET', 'TEXT', false));
if (error)
{
try
{
document.getElementById("ECS_SURPLUS_NOTICE").innerHTML = error;
}
catch (ex)
{
}
return false;
}
}
// 检查用户输入的积分
if (document.getElementById("ECS_INTEGRAL"))
{
var integral = document.getElementById("ECS_INTEGRAL").value;
var error = Utils.trim(Ajax.call('flow.php?step=check_integral', 'integral=' + integral, null, 'GET', 'TEXT', false));
if (error)
{
return false;
try
{
document.getElementById("ECS_INTEGRAL_NOTICE").innerHTML = error;
}
catch (ex)
{
}
}
}
frm.action = frm.action + '?step=done';
return true;
}
在这里我们可以看出,首先定义了支付方式和配送方式的判断变量.
var paymentSelected = false;
var shippingSelected = false;
上海租车
最近更新
常用插件
- ecshop购物车功能改进[插件
ecshop购物车功能改进[插件套餐]主要是我们最近开发工作和开发项目中。...
- ecshop分类树中统计商品数
最近忙于开发其他项目,在不少朋友不断要求和催促的情况下,做出了该小...
- ecshop红包修改成满多少减
我们在长期使用ecshop的时候,我们可以发现。ecshop的红包是一个非常强...
- ecshop通用红包编码
很多时候,为了结合促销,必须扩展一下ecshop的红包功能。ecshop的红包...
- ecshop降价通知登记插件
ecshop降价通知登记插件,主要是为了方便某些客户,对商品价格要求比...