Lavely
20
2019-08-30 10:41:46 작성 2019-08-30 11:07:26 수정됨
6
717

serialize() 활용해서 수정폼에 value값 넣는 방법..


안녕하세요, 신입개발자 입니다.

serialize() 활용해서 insert를 했는데,

이제 데이터를 받아와서 폼에 value값으로 넣어서 수정처리를 진행하고싶은데

값은 받아왔으나, 폼에 어떻게 넣어야 할지를 모르겠어요..

아무리 검색해도 insert만 나오고.. 제가 검색하는 방법을 모르는건지;

도와주세요..!

폼 초기화 했고요, 맨 아래 console.log로 data 잘 들어오는지도 확인했습니다.


//	모달창에서 불러오기 버튼 클릭시
$('#btn-select').click(function(){
	let ck = new Array(); //	let ck=[];
   	$('.ck:checked').each(function(index,item){
   		ck.push($(item).val());  // 체크한 항목의 value값을 ck 배열에 넣는다.
   	});
	console.log("불러오기 버튼 클릭테스트");
	console.log("체크한 항목의 Idx는: "+ck);
	$.ajax({
		url:'/detailUser'
   		,type:'GET'
   		,data:{'ck':ck}  // 배열을 data로 전송
		,success:function(data){
			$('#btn-close').trigger('click');	//모달창 닫기
			$('#userTotalInfoFrm')[0].reset();	//	폼을 초기 상태로 만듬. [0]중요.잘못하면 폼을 아예 없애버림..
			$(data).each(function(index,get){//	반복문 사용해서 data 가져오기
				$('.mode').text('※수정 모드');
				$('.idx').empty();
				$('.idx').append('<input type="text" value="'+get.userIdx+'">');
				//  userIdx(primaryKey 값을 잘 가져오는지 확인
			});
				console.log(data);
		}
	});
});


0
  • 답변 6

  • NoProblem
    46
    2019-08-30 11:01:19

    $('input[name="넣을input명"]').val(get.데이터명);  이런식으로 데이터 셋팅하면 되지 않을까요?

  • Lavely
    20
    2019-08-30 11:06:35

    일반적인 value 값 수정 방법으로

    $( 'input#userId' ).val( 'id001' ); 이런 방법을 찾았는데,

    지금 제가 작업하고 있는 form에 input 갯수가 50개가 넘어요;;

    insert 할때 serialize() 한것처럼 가져올때도 받아온 데이터를 알아서 value값으로 넣어주는 방법이 있을것 같은데 그 방법이 알고싶어요!

  • 유리세계
    3k
    2019-08-30 11:12:11 작성 2019-08-30 11:12:56 수정됨

    data 안에 맵형식의 데이터가 전부 들어있다는 가정하에...

    var keys = Object.keys(data);
    for (var i in _keys){
      $("#"+keys[i]).val(data[keys[i]]);
    }

    좀더 정확히하면 태그가 있는지 검사하는 로직이 추가되어야할 것 같네요

  • NoProblem
    46
    2019-08-30 11:14:26

    불러온 데이터의 형식이 어떻게 되나요? 단순 배열인지 json인지

  • NoProblem
    46
    2019-08-30 11:15:45 작성 2019-08-30 11:16:40 수정됨

    만약 json이고 name과 아이디가 같다는 가정하에

    $(data).each(function(key, value){
         $('#'+key).val(value);
    });


  • Lavely
    20
    2019-09-19 14:30:17

    답변 주신 분들 모두 감사합니다!
    일단 유리세계님 답변은 맵형식이 아니라서 pass!
    NoProblem님의 답변이...저한테 맞게 들어갈 것 같긴 한데
    안되요 ㅠ json이고 name과 id가 같은데...!

    폼의 갯수가 안맞으면 안들어가기도 하나요? 콘솔에 출력해보면 나오긴 하는데

    $('input[name=userIdx]').attr('value',get.userIdx);

    이렇게하나씩은 들어가는데


    $("form[name=userTotalInfoFrm]").val(get);

    이렇게는 안들어가요 콘솔에 get 출력하면
    name: "값" 으로 다 들어있는데...

  • 로그인을 하시면 답변 을 등록할 수 있습니다.