글쓰기창에서 스크립트 작동이 안됩니다ㅠㅠ

글쓰기창에서 스크립트 작동이 안됩니다ㅠㅠ

QA

글쓰기창에서 스크립트 작동이 안됩니다ㅠㅠ

본문


<div class="form-group">
    <label class="col-sm-2 control-label-w" for="wr_1">선택<strong class="sound_only">필수</strong></label>
    <div class="col-sm-10">
        <div class="input-group" id="input_chk">
                <input type="text" name="wr_1" value="<?php echo $write['wr_1']; ?>" id="wr_1" required class="form-control input-sm" size="50" maxlength="255" ><br>
                <input type="checkbox" name="input" class="iput" value="A"> A
                <input type="checkbox" name="input" class="iput" value="B"> B
                <input type="checkbox" name="input" class="iput" value="C"> C
                <input type="checkbox" name="input" class="iput" value="D"> D
                <input type="checkbox" name="input" class="iput" value="E"> E
        </div>
    </div>
</div>
<script>
var cb = document.querySelectorAll('.iput');
var ip = document.getElementById('wr_1');
var val = [];
for(var i of cb){
i.addEventListener('change',(e)=>{
var cind = val.indexOf(e.target.name);
if(cind === -1){
val.push(e.target.name)
}else{
val.splice(cind,1)
}
ip.value = val.join(" | ")
})
}
</script>

체크박스의 체크한 밸류값을 인풋 텍스트에 넣으려고 저렇게 했습니다.

분명 https://stackoverflow.com/questions/51670315/get-names-of-checkbox-inside-input-field-via-js

에서 작동하는것을 확인하고 넣은 코드인데 안됩니다. 이유가 뭘까요?

이 질문에 댓글 쓰기 :

답변 1


stackoverflow와 코드가 다르잖아요
저기서는 name이 E33, E34 처럼 각각인데 여기는 name="input"으로 모두 같게 만들었잖습니까?
 
val.splice(cind,1) <---이건 val에 값이 들어있으면 지워라는 것이니 한번은 넣고 한번은 지우고 
하게 되니 input이라는 단어가 들어갔다가 지워졌다가 하게 되는 것이죠
 
그리고 form에서 name을 동잏란 이름으로 1개이상 만들어서는 안됩니다(이 때는 배열형식으로 사용)

 

 

 

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

회원로그인

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