부모창 forms input value를 자식창 input value에 넣고싶어요.
본문
처음에 1번과 2번을 하나의 for문에서 돌리고자 하였으나
하나의 for문에서 돌리면 먼저한 것만 값이 넣어지더라고요.
그래서 그림과 같이 두개의 for문으로 나누어서 해보았으나
하나의 for문으로 돌렸을때와 같은 결과가 나왔습니다...
도대체 왜 이런일이 일어난 걸까요..???
하나의 for문으로 두개의 값을 넣게끔 할 수는 없나요?
하나의 for문으로 시도했을때의 소스코드는 아래와 같습니다.
<script src="/renew/js/jquery-1.8.3.min.js"></script>
<script type="text/javascript">
$(function(){
var formTag = window.opener.document.forms;
for(var i=1; i<formTag.length; i++){
if(formTag[i].item_id.value){
document.citem_popup_option.it_id.value = formTag[i].item_id.value;
return;
}
if(formTag[i].form_index.value){
document.citem_popup_option.it_option_subject.value = formTag[i].form_index.value;
return;
}
}
});
</script>
return 때문에 하나에만 원하는대로 적용이 되는거 같은데...
어떻게 해야할까요..
!-->답변 2
첫 번째 if에 return을 빼시면 될텐데요...
좀 더 정확하게는 이렇게 하세요..
var check1 = false;
var check2 = false;
for(var i=1; i<formTag.length; i++){
if(formTag[i].item_id.value && check1 == false){
document.citem_popup_option.it_id.value = formTag[i].item_id.value;
check = true;
}
if(formTag[i].form_index.value && check2 == false){
document.citem_popup_option.it_option_subject.value = formTag[i].form_index.value;
check2 = true;
}
if(check1 == true && check2 == true){
break;
}
}