개발 Q&A

제목 안녕하세요 PHP 와 제이쿼리 질문입니다 ㅠ
글쓴이 루비콘 작성시각 2015/12/01 14:11:26
댓글 : 2 추천 : 1 스크랩 : 0 조회수 : 11448   RSS
질문좀 드릴게요 ㅠㅠ    

텍스트 박스 코드 
/*

input type="text" id="gu_pd_name_1" name="gu_pd_name_1" value="{C}" class="w90p"
input type="text" id="gu_pd_name_1" name="gu_pd_name_2" value="{C}" class="w90p"
...식으로 만들어진 텍스트 박스


이런식의 폼이 있고 
유효성 검사를 하는데
명칭과 제품코드 수량을 필수 입력 사항입니다.

여기서 추가적으로 만약에 2번째줄에 명칭을 입력하면 제품코드와 수량도 두번째 줄에 입력되어야 합니다.
만약에 3번째 줄에 입력을 했다면 3번째 줄에 나머지 제품코드와 수량도 입력을 해야 합니다.

아래가 유효성 검사 하는 코드입니다.

$("[ id ^= gu_pd_name_]").each(function(){//이치문 시작
        var a = $(this).attr("id");
        var check = 1;//체크용

        if($("#"+a).val() == "")  
        {
            check==0;//없으면 0
            return false;
        }else{
            check++;//있으면 증가
            return true;
        }
    });

    if(check == 0)//없으면
    {
        alert("명칭입력해.");
        $("#gu_pd_name_1").focus();
        return false;
    }else{
        $("[ id ^= gu_pd_name_]").each(function(){

            var a = $(this).attr("id"); //a에 자기자신의 아이디값을 attr로가져오기

            var divison = a.split("gu_pd_name_"); //스플릿으로 쪼갬 배열로 만듬 explode와 비슷?
            var exit = continue;//이건 있어야 끝남 항상 있어야함

            if($("#"+a).val() != ""){//아이디에 값이있으면
                if($("#gu_pd_code_"+divison[1]).val() == ""){//근데 제품코드에 두번째 배열에 값이 없으면 
                alert("("+divison[1]+")코드입렵해");//경고창
                $("#gu_pd_code_"+divison[1]).focus();//포커스 맞추기
                return false;//반환값
                exit = false;//종료

            if($("#gu_pd_count_"+divison[1]).val() == ""){
                alert("("+divison[1]+")수량입력해");
                $("#gu_pd_count"+divison[1]).focus();
                return false;
                exit = false;
                }
            }
    });

헌데 유효성 검사가 되질 않습니다 어디가 문제일까요 ㅠㅠㅠ
고수님들 도와주세요 ㅠ
 다음글 sqlsrv 오류입니다. ㅠㅠ (3)
 이전글 CodeIgniter 새내기 질문입니다. (1)

댓글

kaido / 2015/12/01 15:35:09 / 추천 0
당연히 안되지요.

id 중복이 있어서 안됩니다.

id="gu_pd_name_1" <- 이 아이디는 한 페이지에서 유일성을 가져야 합니다.


id="gu_pd_name_1"
id="gu_pd_name_2"
id="gu_pd_name_3"
....


each 하는 부분도 수정이 필요합니다.
id 로 검사 하지 마시고 class로 하세요.

$(".w90p").each(function(){ ... });

id는 유일성을 가진 존재.
class 는 다수를 지칭하는(묶는) 존재.

 
루비콘 / 2015/12/01 16:10:23 / 추천 0
답변 감사드립니다 ㅠㅠㅠㅠㅠ오타와 each문 접근 방법이 문제였군요 ㅠㅠㅠㅠㅠㅠㅠ정말 감사합니다!