반응형
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- node.js
- centos7
- javascript
- mysql
- docker
- yona
- config
- popup
- FCM
- jenkins
- MariaDB
- PM2
- SpringBoot
- Push
- git
- pwa
- Next.js
- mybatis
- nodejs
- security
- Java
- NextJS
- MSsql
- Maven
- rocky9
- spring3
- jquery
- Eclipse
- submit
- ajax
Archives
- Today
- Total
ふたりで
임시form을 생성 하여 ajax로 form 전송 하기. 본문
728x90
반응형
SMALL
예를 들어 게시판에서 체크된 항목들만 서버쪽으로 전송하여 C.R.U.D를 하는경우...참고...
//주문전 품절상품 체크
function soldOutProductsCheck(orderTypeBtn,providerCode){
//이전에 만들어진 품절상품 체크용 임시form이 있으면 초기화
var tempFormDoc = document.getElementById("soldOutProductsCheckFrom");
if(tempFormDoc != null){
document.body.removeChild(tempFormDoc);
}
//임시form생성
var soldOutProductsCheckFrom = document.createElement('form');
soldOutProductsCheckFrom.name= "soldOutProductsCheckFrom";
soldOutProductsCheckFrom.id= "soldOutProductsCheckFrom";
var input = document.createElement('input');
input.type = 'hidden';
input.name = '${_csrf.parameterName}';
input.value = '${_csrf.token}';
soldOutProductsCheckFrom.appendChild(input);
$('.js_checkchilde:checked').each(function(index, item){//체크된 전체 상품정보 만들기
var input = document.createElement('input');
input.type = 'hidden';
input.name = "ordp_product";
input.value = $(this).val();//상품코드
soldOutProductsCheckFrom.appendChild(input);
});
//임시폼 생성 하것을 화면에 추가.
document.body.appendChild(soldOutProductsCheckFrom);
var returnMesg = "" ;
var params = $("form[name=soldOutProductsCheckFrom]").serialize();
$.ajax({
type : "GET",
url : ctx + "/soldOutProductsCheck",
data : params,
async: false,
success : function(data,xhr) {
if(data != null){
var result = data.msg;
var type = result.split("_");
var resultMsg = "";
if(type[1] == "sucess."){
var pdt_count=0;
for (var i = 0; i < data.pdtSoldOutList.length; i++) {
if(data.pdtSoldOutList[i].pdt_stock == 0){
//resultMsg= resultMsg+","+data.pdtSoldOutList[i].pdt_name;
//console.log(data.pdtSoldOutList[i].pdt_code);
//품절상품은 체크 해제
//$('input:checkbox[value="'+data.pdtSoldOutList[i].pdt_code+'"]').prop('checked', false).trigger('change');
$('.js_ca_count').each(function (index, item){
//console.log("$(this).data('product'):"+$(this).data('product')+",$(this).data('option'):"+$(this).data('option'));
if(data.pdtSoldOutList[i].pdt_code == $(this).data('product') && data.pdtSoldOutList[i].pdto_code == $(this).data('option')){
//console.log("this:"+parseInt($(this).data('count')));
//console.log("data.pdtSoldOutList[i].pdts_count:"+data.pdtSoldOutList[i].pdts_count);
if(parseInt($(this).val()) > parseInt(data.pdtSoldOutList[i].pdts_count)){
//console.log("data.pdtSoldOutList[i].pdt_name:"+data.pdtSoldOutList[i].pdt_name);
//console.log(pdt_code+","+pdt_count);
resultMsg = resultMsg == "" ? (resultMsg +data.pdtSoldOutList[i].pdt_name+"(재고:"+data.pdtSoldOutList[i].pdts_count+")") : (resultMsg+"ㅁ "+data.pdtSoldOutList[i].pdt_name+"(재고:"+data.pdtSoldOutList[i].pdts_count+")");
}
}
});
returnMesg= resultMsg;
}else{
}
}
}else{
LayerPopup.alert(type[1],function(){$('.modal_bg').remove();});
}
}
//location.reload(true);
}
,error : function(request, status, error) {
if(request.status == 403){
alert("세션이 만료 되었습니다.");
location.reload(true);
}else{
result = "상품정보를 조회할 수 없습니다.\n서버응답_에러코드:"+request.status;
alert("상품정보를 조회할 수 없습니다.\n서버응답_에러코드:"+request.status);
//location.reload(true);
}
}
});
return returnMesg;
}
컨트롤러에서 VO로 받을경우 참고...
package com.graykang.front.model;
/**
* @author graykang create 2022.09.01
*
*/
public class OrderInfoVO{
private int[] ordp_product;//주문상품코드
.
.
.
public int[] getOrdp_product() {
return ordp_product;
}
public void setOrdp_product(int[] ordp_product) {
this.ordp_product = ordp_product;
}
.
.
.
}
728x90
반응형
LIST
'javascript' 카테고리의 다른 글
html 특정 영역 window.print 시 마지막 공백 페이지 제거 하기 (0) | 2022.09.16 |
---|---|
HTML form의 onsubmit을 이용한 조건부 submit (2) | 2022.09.16 |
location.replace() 브라우저 history 남기지 않기. (0) | 2022.08.30 |
jsp table merge row span by class (0) | 2022.08.22 |
css, js 캐싱 방지하기...(no cache css js) (0) | 2022.07.07 |
Comments