西部数码主机 | 阿里云主机| 虚拟主机 | 服务器 | 返回乐道官网
当前位置: 主页 > php教程 > ecshop教程 >

解决ECshop在IE下js无法获得默认属性的方法

时间:2016-01-01 12:50来源:未知 作者:好模板 点击:
ecshop商品属性美化之后,属性都用 type= hidden 形式,就算给了默认值 checked=true,IE进入第一次加载的时候还是无法获得attr的值。ECshop在IE下js无法获得默认属性 解决: 在goods.dwt 属性加一个默
ecshop商品属性美化之后,属性都用 type= hidden 形式,就算给了默认值 checked=true,IE进入第一次加载的时候还是无法获得attr的值。ECshop在IE下js无法获得默认属性

解决:

在goods.dwt 属性加一个默认值 defaultChecked

如:


<!-- {foreach from=$spec.values item=value key=key} -->

<span class="fl junma {if $key eq 0}hover{/if}" name="spec_{$spec_key}" value="{$value.id}"> {$value.label}
</span>
<input type="hidden" name="spec_{$spec_key}" value="{$value.id}" {if $key eq 0}checked="true" defaultChecked="true"{/if}>
<!-- {/foreach} -->


common.js里面

js修改为:


/**
* 获得选定的商品属性
*/
function getSelectedAttributes(formBuy)
{
var spec_arr = new Array();
var j = 0;

for (i = 0; i < formBuy.elements.length; i ++ )
{
var prefix = formBuy.elements[i].name.substr(0, 5);
if (prefix == 'spec_' && (
((formBuy.elements[i].type == 'hidden' || formBuy.elements[i].type == 'checkbox') && formBuy.elements[i].checked) ||
formBuy.elements[i].tagName == 'SELECT' || formBuy.elements[i].getAttribute('defaultChecked')))
{

spec_arr[j] = formBuy.elements[i].value;
j++ ;
}
}

return spec_arr;
}

(责任编辑:好模板)
顶一下
(1)
100%
踩一下
(0)
0%
------分隔线----------------------------
栏目列表
热点内容