방금 온라인 상점을 출시했습니다.onChange가 Internet Explorer 7을 왜 고장 나게합니까?
일부 컴퓨터에서는 선택 상자가 Internet Explorer 7과 충돌합니다. 내 컴퓨터에 절대로 없어. 아무도 이유를 알고 있습니까?
실시간 링크 :
http://velour.se/collection/women/tops/eloise
업데이트 : 게시 된 첫 번째 충돌이 발생하지 않은 것으로 나타났습니다. 그러나 다음을 수행합니다 http://velour.se/collection/women/outerwear/irina
SCREENDUMP : http://skitch.com/jesperlind/nc4j2/tops-eloise-velour-ie7-bug
원래 버전 :
다음<select id="sizeDD" onchange="javascript:SizeChange(this);"></select>
//Internet Explorer problem.
function SizeChange(e){
DrawAmountDD(GetAmountById(e.value));
}
내가 생각하는 코드의 비트를 포함 할 수있다 :
function DrawAmountDD(maxAmount){
/*var max = parseInt(maxAmount) > parseInt(maxShowAmount) ? maxShowAmount : maxAmount;
var html = "";
for(var i=1; i <= max; i++){
html += "<option value='" + i + "'>" + i + "</option>";
}
$("#amountDD").html(html);*/
var max = parseInt(maxAmount) > parseInt(maxShowAmount) ? maxShowAmount : maxAmount;
var ddlAmount = document.getElementById("amountDD");
ddlAmount.length=max;
for(var a=1; a <= max; a++){
ddlAmount.options[a-1].value = a;
ddlAmount.options[a-1].text = a;
}
}
버전 2 :
<select id="sizeDD"></select>
<select id="amountDD"></select>
<script type="text/javascript">
var maxShowAmount = '5';
var colorSizeArr =
{ "colSize":
[
{ "color": "Black/Offwhite",
"specificId": "2",
"size": "XS",
"amount": "1" }
]
};
colorSizeArr.colSize.push(
{ "color": "Black/Offwhite",
"specificId": "13",
"size": "S",
"amount": "2" });
$(document).ready(function() {
var selectSizeDD = document.getElementById('sizeDD');
selectSizeDD.onchange = function() { sizeChange(selectSizeDD); };
});
function sizeChange(e) {
DrawAmountDD(GetAmountById(e.value));
}
function GetAmountById(specificId) {
for (var i = 0; i < colorSizeArr.colSize.length; i++) {
if (colorSizeArr.colSize[i].specificId == specificId) {
return colorSizeArr.colSize[i].amount;
}
}
return 1;
}
function DrawAmountDD(maxAmount) {
var max = parseInt(maxAmount) > parseInt(maxShowAmount) ? maxShowAmount : maxAmount;
var html = "";
for (var i = 1; i <= max; i++) {
html += "<option value='" + i + "'>" + i + "</option>";
}
$("#amountDD").html(html);
}
</script>
업데이트
내가 파악하지 않은 exatcly 왜 인터넷 익스플로러 일부 컴퓨터 7 개 충돌합니다. 위의 코드가 어떤 방식 으로든 관련이 없었습니다. 훨씬 더 간단했습니다. 단 하나의 옵션으로 선택 상자를 클릭하면 브라우저가 충돌합니다. 이처럼 : 그것은 하나의 옵션뿐만 아니라 선택한 속성을 가져야한다고 말한다 만 수행이 속성 밖으로 우리를 위해 충돌 보인다 곳
<select id="amountDD">
<option value="1">1</option>
</select>
나는이 링크에 관한 정보를 발견했다.
http://www.akselvoll.net/2007/08/ie7-crashes-when-clicking-on-drop-down.html
'GetAmountById'기능도 게시 할 수 있습니까? –
또한 - 충돌로 인한 것이 무엇인지 설명 할 수 있습니까? 스크린 샷에는 사이트가 표시되지만 오류는 표시되지 않습니다. –
브라우저가 완전히 충돌하지만 내 컴퓨터에는 없습니다. – jesperlind