특정멤버에게는 금액을 초과할수 있도록

특정멤버에게는 금액을 초과할수 있도록

QA

특정멤버에게는 금액을 초과할수 있도록

본문

특정멤버일때는 금액을 초과하여 신청할수 있도록 아래와 같이 코드를 작성하였으나,
1. 특정아이디일때, 금액이 없이 신청하면, "신청금액을 입력해 주세요." 라는 메세지가 떠야하는데, 뜨지 않고 
2. 다른 아이디로, 금액을 입력하여 청구하여도, 금액이 입력은 돼나, 더이상 다름 액션이 작동하지 않습니다. 

무엇이 잘못된걸까요??? 조언을 구합니다.
즐거운 하루되세요~
 


function fwrite(f){
 
if(f.wr_id.value =="memberid"){
 
//특정멤버의 경우, 신청금액만 체크함.
if(f.wr_6.value ==""){
  alert("신청금액을 입력해 주세요."):
 return;
 }
 
} else { 
 
 
  
if ((parseInt(f.aver_pay.value)) <=0)
  { 
    alert('지급가능한 금액이 없습니다');
    return;
  } 
 
 
    if (f.wr_6.value=="") {
 
        alert("신청금액을 입력해주세요");
 
        return;
 
    } else if (parseInt(f.aver_pay.value) <parseInt(f.wr_6.value)){
 
        alert("지급가능 신청금액 이하로 신청해주세요");
 
        f.wr_6.focus();
 
        return;
 
    }
 
}  
 
f.action="write_update.php" ;
 
f.submit();
 
}
 

이 질문에 댓글 쓰기 :

답변 5

write.skin.php 파일전체를 봐야 할 듯 합니다.

 

그누보드 4를 사용하시는 것 같은데, 

 

"function fwrite(f)"으로 봐서, 아주 오래된 스킨이 아닌가 싶군요.

 

form 부분이 

 

<form name="fwrite" method="post" onsubmit="return fwrite_submit(this);" enctype="multipart/form-data" style="margin:0px;">

 

이렇게 되어 있는지요..??

 

 

 

 

위와 관련된 수익금 신청 <form 을 보면 아래와 같습니다.

<FORM name=request_money onsubmit="return Request_FormChk(this)"
action=request_money_ok.php method=post><INPUT type=hidden value=request_ok
name=Mode>

그리고 그 및으로


<? if (!$is_admin){ ?>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;금액입력&nbsp;&nbsp;<input type="text" value=""  name="wr_6" size=15  class=ed />
&nbsp;&nbsp;요청사항&nbsp;&nbsp;<input type="text" value=""  name="wr_8" size=25 class=ed  />
&nbsp;<input type="button" value="신청하기"  name="수익금신청" onclick="javascript:fwrite(document.forder);" />
<?  }?>

</TD>

form을 보시면, form 의 name 부터 체크 스크립트와 다르군요.

이름의 다르니 체크를 할 수 없지요.

 

폼 값을 체크하는 스크립트를 보면, 폼 이름이 fwrite 인 것을 체크하도록 되어 있습니다.

 

 

그리고,

입력된 값을 action에서 지정한 request_money_ok.php  로 넘겨야 할지,

아니면 onsubmit 에서 지정한 스크립트로 넘겨야 하는건지...

action과 onsubmit 은 각각 기록한 것을 다음페이지, 또는 스크립트로 넘기는 내용입니다. 

 

정리하면,

폼의 이름이 다르니, 체크를 진행할리 없지요.

폼에 기록한 내용을 체크하라는 건지, 그냥 넘기라는 건지 불분명합니다.

 

또한, 스킨에 있는 폼 체크를 사용할 것인지, 

새로 폼 체크를 만들어서 사용하려는 건지도 불분명합니다. 

 

action 값을 보면,

fwrite 스크립트에서는 write_update.php로 보내도록 되어 있는데,

위 폼의 내용에는 request_money_ok.php 파일로 보내도록 되어 있군요.

 

 

파일내용에서 폼 값과 체크, 또는 액션 등을 정리하셔야 할 듯 합니다.

 

지금의 상태로는 Action이 작동할 수 없습니다.

 

 

 

이렇게 바꿔 보세요.

 

윗부분

 

<form name="fwrite" method="post" onsubmit="return fwrite_submit(this);" enctype="multipart/form-data" style="margin:0px;"> 

<INPUT type=hidden name=Mode value=request_ok>  

 

 

아래부분

 

<? if (!$is_admin){ ?> 

     금액입력  <input type="text" value=""  name="wr_6" size=15  class=ed /> 

  요청사항  <input type="text" value=""  name="wr_8" size=25 class=ed  /> 

 <input type="submit"/> 

<?  }?> 

 

 

 

스크립트부분

 

function fwrite(f){

 

if(f.wr_id.value =="memberid"){

 

//특정멤버의 경우, 신청금액만 체크함.

if(f.wr_6.value ==""){

  alert("신청금액을 입력해 주세요."):

 return;

 }

  

 

} else { 

  

  

  

if ((parseInt(f.aver_pay.value)) <=0)

 

  { 

 

    alert('지급가능한 금액이 없습니다');

 

    return;

  } 

 

  

 

    if (f.wr_6.value=="") {

  

        alert("신청금액을 입력해주세요");

  

        return;

  

    } else if (parseInt(f.aver_pay.value) <parseInt(f.wr_6.value)){

  

        alert("지급가능 신청금액 이하로 신청해주세요");

  

        f.wr_6.focus();

  

        return;

  

    }

 

 

}  

  

//write_update, request_money_ok 두개중 맞는 것으로...

 

//f.action="write_update.php" ;

f.action="request_money_ok.php";

  

f.submit();

  

}

우선 귀중한 시간을 내어 조언을 해 줌에 고맙습니다.

ㅠㅠ
위와 같이 수정해도 실행이 되지 않습니다.

아마도 개인적인 생각으로는 필드명이 잘못되지 않았나 생각됩니다.
수정하기 전으로 하면 작동이 잘 되거든요.

그리고, 수정후(업데이트 하여) 의 부분을 체크하기 위하여,  아래와 같이 추가하여 테스트 하여도 화면에 나타나지 않거든요 ㅠㅠ

  alert("테스트화면."):
        return;

고수의 조언을 부탁합니다.
즐거운 하루되세요 ^^)~

--------------------------------------------------------------------------------
1. 수정전

<script language="JavaScript">
if ("<?=$stx?>") {
    document.fsearch.sfl.value = "<?=$sfl?>";
    document.fsearch.sop.value = "<?=$sop?>";
}

/*  수정 test  2016.11.04 -17:32 */
function fwrite(f){



if ((parseInt(f.aver_pay.value)) <=0)
{
alert('지급가능한 금액이 없습니다');
return;
}

  if (f.wr_6.value=="") {
        alert("신청금액을 입력해주세요");
        return;
  } else if (parseInt(f.aver_pay.value) <parseInt(f.wr_6.value)){
        alert("지급가능 신청금액 이하로 신청해주세요");
f.wr_6.focus();
  return;
}



f.action="write_update.php" ;
f.submit();

}


</script>

-----------------------------------------------------------------------------------------
2. 수정후

<script language="JavaScript">
if ("<?=$stx?>") {
    document.fsearch.sfl.value = "<?=$sfl?>";
    document.fsearch.sop.value = "<?=$sop?>";
}

/*  수정 test  2016.11.04 -17:32 */
function fwrite(f){


if(f.wr_id.value =="memberid"){

//특정멤버의 경우, 신청금액만 체크함.
if(f.wr_6.value ==""){
  alert("신청금액을 입력해 주세요."):
return;
}

} else {



if ((parseInt(f.aver_pay.value)) <=0)
{
alert('지급가능한 금액이 없습니다');
return;
}

  if (f.wr_6.value=="") {
        alert("신청금액을 입력해주세요");
        return;
  } else if (parseInt(f.aver_pay.value) <parseInt(f.wr_6.value)){
        alert("지급가능 신청금액 이하로 신청해주세요");
f.wr_6.focus();
  return;
}

}

f.action="write_update.php" ;
f.submit();

}


</script>

전체 소스를 봐야 어디가 잘못된 것인지 파악이 되는 상황입니다. 

원본을 공개할 수 없는 이유가 있는건지요..??


원본 전체내용을 알 수 없는 상태에서, 더이상의 답변은 해답이 될수 없을것 같네요.

 

원본 내용을 쪽지로 보내주시면 확인해 보도록 하지요.

 

기침을 하는건 결과입니다.

원인은 감기 일수도 있고,

사래들린 것일 수도 있으며,

천식일 수도 있지요..

 

에러가 나오는건 결과입니다.

 

시간을 줄이는 방법은 전체를 보는게 최선입니다.

 

 

 

 

다른 일로.. ㅠㅠ 이제야 글을 봅니다.
원본 전체를 이곳에 적을려고 하는데, 이곳에 적는 글자가 제한되어 있네요...
메일로 내용을 보낼려고 하는데 살펴봐 주실래요?

도움에 고맙습니다.
즐거운 하루되세요 ^^

답변을 작성하시기 전에 로그인 해주세요.
전체 14
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT