전체 페이지를 다시로드하지 않고 양식을 제출하려고합니다. 나는 기본리스 트 로직을 우회하기 위해 이벤트 리스너를 사용할 때 로직을 가지고 있다고 확신한다. 내 DSP 양식이ATG dsp 양식 입력 값
<dsp:form action="" id="storeCart" formid="storeCart" method="post">
<dsp:droplet name="/atg/dynamo/droplet/IsEmpty">
<dsp:param name="value" param="element.WarrantyId"/>
<dsp:oparam name="true">
<input type="text" value='<dsp:valueof param="element.quantity" />' maxlength="3" class="inputQuantity" name='<dsp:valueof param="element.catalogRefId"/>' id='quantity-<dsp:valueof param="element.catalogRefId"/>'/>
</dsp:oparam>
<dsp:oparam name="false">
<dsp:valueof param="element.quantity" />
<input type="hidden" value='<dsp:valueof param="element.quantity" />' maxlength="3" class="inputQuantity" name='<dsp:valueof param="element.catalogRefId"/>' id='quantity-<dsp:valueof param="element.catalogRefId"/>'/>
</dsp:oparam>
</dsp:droplet>
<td id="buttonHolder"><dsp:input value="Submit" type="submit" bean="......"/></td>
</dps:form>
문제처럼 보인다
$("body").on("click", '#buttonHolder', function() {
$.ajax({
type: 'POST',
data: $('#storeCart').serialize(),
dataType: "html",
url: "/inc/store/cart/cart-contents.jsp",
cache: false,
success: function(response) {
$("#formHolder").html(response);
}
});
return false;
});
은 내가 프런트 엔드에 그들에 추가 한 후 값을 변경할 것하지 않습니다. 더 명확하게하려면 내가 먼저 가서 다음 요소를 검사, 4로 변경하면
입력 필드 값 1이며, 값은 여전히 1, 양식이 제출 될 때이 반영되고 응답이 생성됩니다 . 그래서 console.log ($ ('testID'). val()); 입력에 4 (원하는)가 아니라 1을 제공합니다. 이것은 요청 헤더에서도 처리됩니다.
편집 : 나는 더 정확하게 자신의 그림자 숨겨진 필드가 필드를 반영하기 위해 DSP 양식 섹션을 업데이트
. 나는 새로운 입력을 받아들이도록 양식을 얻는 것처럼 보이지 않습니다. 값은 새 값을 크롬 관리자에 삽입 할 때조차도 jsp 변수에 저장된 값으로 간주됩니다.
예, 여기에 숨겨진 필드가 있습니다. 이 입력 쌍의 값을 크롬 콘솔에서 변경할 수 있습니까? 뒤로 물러서서 전체 페이지를 새로 고칠 일반 폼 제출을 수행하지 않는 한 변수 변경을 관리 할 수 없습니다. – bneigher
페이지가 다시로드되면 서버가 _D (숨겨진 필드)를 채우기 위해 특정 작업을 수행하고 있습니다. 서버 측에서 변경된 값을 알고 백그라운드에서 적절한 값을 채 웁니다. – Mouli
DYN_SESSION_CONF를 점검하여 양식이 실제로 백엔드로 제출되도록하십시오. – Mouli