아래 코드에서 최종 경고()에 새 값을 가져 오는 이유는 무엇입니까?하지만 양식 제출시 이전 값 (그리고 방화 쇠 숨겨진 필드를 볼 때)은 어떻게됩니까? 양식 태그 내부숨겨진 양식 필드 값이 실제로 변경되지 않았습니다.
숨겨진 필드 요소 :
<input type="hidden" id="shipping_1" name="shipping_1" value="3.99">
ShipTo 드롭 다운 메뉴를 선택하면, jQuery를 필드 값을 업데이트하는 데 사용됩니다
:
$('#ShipSelect').change(function(e) {
var ss = $('#ShipSelect').val();
if (ss=='International') {
alert("International orders add $10 S&H");
ship1 = ($('#shipping_1').val())*1 + 10;
alert('Shipping_1 val is now: ' + ship1);
$('#shipping_1').val(ship1);
alert('Reading the field directly: ' + $('#shipping_1').val());
}
});
알림 메시지 $ (10)라는이 추가되었습니다 쇼 숨겨진 필드 값. 여태까지는 그런대로 잘됐다. BuyNow 버튼을 누를 때 DOM을 방화범으로 (또는 크롬 DevTools로 모드에서) 볼 그러나
는 AND/OR 상기 shipping_1
필드는 이전 값 ($ 10 단편)이다.
UPDATE
: 나는 정확히 내 문제를 설명 this promising post을 보았지만,이 솔루션은 작동하지 않았다. 이것은 그들이 무엇을 제안이다 :document.form_name.field_name.value = your_value
을 따라서, 나는이 줄에서 주석 :
$('#shipping_1').val(ship1);
과 함께 대체 :
document.paypal_cart.shipping_1.value = ship1;
결과 내가 지금 무슨 다르지 않습니다 . 이전 값은 여전히 제출되고 (방화 녀와 함께 볼 때 표시됩니다). 변경된 값을 폼이나 다른 것으로 "고칠"때 어떻게 든 .on()을 사용해야합니까?
왜 당신은 운송 비용을 계산하기 위해 클라이언트에 의존 닫기 괄호를 놓쳤다 생각을 조금 단순화? JavaScript 디버거를 사용하여이 숨겨진 필드 값을 0으로 설정하면 어떻게됩니까? 배송비를 청구하지 않겠습니까? – cdhowie
당신은 소스를보고 javascript로 동적으로 수행 된 변경 사항을 볼 수 없지만 콘솔을 사용하는 경우 값 변경이 표시되어야합니다. – adeneo
'$ ('# shipping_1'). attr ('value', ship1);을 테스트하십시오. 내가 잘못 본 것이 없다. –