jQuery 스크립트와 Safari (Mac + iPhone)에 문제가 있습니다. 내 필요에 맞게 수정하려면 그들을 쓰기, 내가 다음 스크립트로 보내기 전에 데이터를 수정해야 할 때, 나는 양식 (serializeArray)을 모두 읽어 jQuery.each는 Safari에서 작동하지 않습니다.
: 이 페이지의 구조 새 양식 (표시 : 없음)을 선택하고 다음 페이지로 보냅니다. 이것은 스크립트입니다
$("input#newsubmit").click(function(e) {
e.preventDefault();
arraytix = [];
checkboxStatus = 0;
$("input[id^=field]").each(function(i) {
if ($(this).val() != 0) {
arraytix[i] = $(this).attr('name') + ":" + $(this).val() + ":" + $(this).parent().parent().find("li.four").find("input[id*=price_item]").val() + ":" + $(this).parent().parent().find("li.five").find("input[id*=vvk_item]").val();
}
});
var carttix = '';
jQuery.each(arraytix, function(i) {
if (arraytix.hasOwnProperty(i)) {
if (i == arraytix.length - 1) {
carttix += this;
} else {
carttix += this + '-';
}
}
});
$("form#finalSubmit").append('<input name="cart" value="'+carttix+'" />');
$("form#finalSubmit").append('<input name="versand" value="'+$("select#item_vat_1").val()+'" />');
$("form#finalSubmit").append('<input name="barzahlung" value="'+checkboxStatus+'" />');
if (checkboxStatus == 0) {
var fields = $("fieldset.customer").serializeArray();
alert("before each");
jQuery.each(fields, function(i, field){
$("form#finalSubmit").append('<input name="'+field.name+'" value="'+field.value+'" />');
alert("loop");
});
alert("after jquery.each");
}
//$("form#finalSubmit").submit();
}
jQuery.each의 첫 번째 인스턴스가 모든 브라우저와 plattforms에 기대 작품으로. append 명령을 사용하는 jQuery.each의 두 번째 인스턴스는 모든 플랫폼에서 Safari에서 실행되지 않습니다.
디버깅을 위해 몇 가지 경고를 추가했습니다. Safari가 설치된 Mac : 경고 ("before each") 및 경고 ("after each")가 실행됩니다. jQuery.each doens't. 다른 브라우저 (Firefox Mac 포함)에는 아무런 문제가 없습니다. 첫 번째 경고, 일부 경고 ("루프") 및 마지막 경고가 발생해야합니다.
무엇이 문제입니까?
다른 여러 브라우저에서 두 번째 인스턴스를 사용해 보셨습니까? 브라우저에 문제가 있는지 항상 확인하려면 교차 확인을 시도하십시오. – SamCyanide
FYI :'if (arraytix.hasOwnProperty (i)) {'확인이 필요 없다. 나는 그것이 (현재 인덱스와 같은 속성을 가지고 있는지 배열을 검사하는 것) 어떻게 작동할지는 모르겠다. 객체를 처리하는 것이 좋지만 모든 객체는 정기적으로 색인화 된 배열을 사용합니다. 그것을 제거하면'arraytix [i] = ...'를'arraytix.push (...)'로 변경해야 할 수도 있습니다. –
두 번째 루프가'carttix = arraytix.join ('-')'과 동일하지 않습니까? – Barmar