묻고답하기
확장변수의 idx값을 구하려 하는데요
2014.06.04 21:47
http://www.xpressengine.com/qna/22755790
입력폼에서의 자동 계산후 자동입력은 구현했는데요
다 하고 나서 보니
이게
확장변수를 추가하거나 순서만 바뀌어도 스크립트 코드를 다 바꿔야 하는 불상사가 생기네요
<script type="text/javascript">
function total() {
var discount=0;
if (Number(document.write_form.extra_vars8.value))
{
discount=Number(document.write_form.extra_vars8.value)-Number(document.write_form.extra_vars9.value);
document.write_form.extra_vars16.value=discount;
}
.....
이딴식으로 했더니
extra_vars8
extra_vars16 같은 값은 나중에 확장변수의 위치를 수정하거나 하면
그 값이 변하니...
eid 값은 고정이니
eid 값으로 다시 구현해야 할거 같은데 (한 30여개가 넘어서 ...)
eid 값으로 idx의 (요게 extra_vars 의 뒤에 붙는 숫자 같은데) 값을 구해
extra_vars8 대신 extra_vars{$val->idx} 뭐 이런식으로 사용해야 될거 같은데.....
어찌 될것도 같은데 기초가 없다보니 잘 안잡히네요 ...
부탁드려요
댓글 5
-
한이73
2014.06.04 23:12
-
애니즌
2014.06.05 01:40
스킨파일에서 스크립트를 생성해야할 겁니다.(여기서 생성이란 말은 js파일로 별도로 만드는 것이 아니라.. 스킨 파일내에 <script>~방식으로 넣는 것..)
eid로 if문을 걸고요 해당 eid에 속한 idx 값을 가져와서 처리하면 될 듯 합니다. 스킨파일이니까.. php파일로 처리해야겠지용..?!
아니면 스킨파일에서 js 파일의 펑션으로 확장변수에 대한 것을 |와 같은 구분자를 포함해서
모든 것을 넘기신 후에
받는 쪽에서 구분자를 기준으로 배열에 담아서 뿌려주면 될 것 같군요
-
혼마_메이코
2014.06.05 02:58
유튜브 다중등록 게시판 스킨(제가 만든거)한번 받아서 뜯어보시유~
-
한이73
2014.06.05 05:06
감사합니다..
잘 안돼네요
유투브 다중등록 스킨 뜯어봐도 잘 모르겠네요 ;;
걍 루프돌아간느곳에
{@ $val->eid + "_" = $val->idx} 이런식으로 동적으로 변수명 생성하고
스크립트 안에서
"extra_vars"+{$확장변수eid_}.value=discount;
이렇게 구현하려했는데
{@ $val->eid + "_" = $val->idx} 요런게 안먹히네요
걍 모든 확장변수에 "_" 추가 했어요 ㅡㅡ;
<!--@if($val->eid=="mb_phone_Nomber")-->
{@ $mb_phone_Nomber_=$val->idx}
<!--@elseif($val->eid=="mb_date")-->
{@ $mb_date_=$val->idx}......
이렇게요 ...(좀 무식하고 길어져서 ...)
좀더 연구해봐야겠네요
감사합니다.
-
한이73
2014.06.12 08:38
<tr loop="$extra_keys=>$key,$val">
<th scope="row"><em cond="$val->is_required=='Y'">*</em> {$val->name}</th>
<td>{$val->getFormHTML()}</td>
<!-- php변수(확장변수 eid값)를 스크립트 전역변수로 선언(스크립트에서 eid값으로 직접호출 -->
<script> var {$val->eid}={$val->idx}; </script>
< /tr>이렇게 확장변수 eid를 스크립트 변수로 선언해버리고
해당 스크립트 안에서 eid를 직접 사용하면 간단하네요 ..
"extra_vars"+확장변수eid.value=discount;
http://blog.naver.com/parkgimi?Redirect=Log&logNo=120120758014
이런식으로 값을 변수명으로 만들면 될것도 같은데 xe에서는 안먹네요