r

innerHTML 했을경우 input 의 value값 초기화문제

div내 다수의 input text 박스에 value값이 들어있는 상태에서

innerHTML으로, += "<input type=text ... 을 추가 해줬을 경우 기존의 있던 input text의 value값이 사라지네요.

체크해보니, innerHTML할때 사라지는 걸로봐서... value값을 못가져오는거 같네요.

웃긴건 IE에서는 됩니다. 근데 크롬,파폭 나머지경우 value값을 못가져와 초기화시켜버리네요..

이해가 되실지 몰라도 혹 아시는분 계신가요?
|

댓글 10개

<DIV id=aa>1234567890</DIV>
<SCRIPT>
document.getElementById('aa').innerHTML +="<input type='text' value='12' id='bb'>"
alert(document.getElementById('bb').value)
</SCRIPT>
이렇게 하면 value 값이 없어진다는 건가요?
처음 듣는 얘긴데요?
아뇨.. 기존의 value값이 사라집니다.

<DIV id=aa><input type=text name=test value="asdf"></DIV>
<SCRIPT>
document.getElementById('aa').innerHTML +="<input type='text' value='12' id='bb'>"
alert(document.getElementsByName('test')[0].value) //asdf 값 사라짐
</SCRIPT>
위와 같은 경우이고 asdf라는 기존 input 값이 사라지구요.. 즉, input 태그를 추가하는 스크립트네요.
음 사라지는군요..

이럴땐.. 흠냥...

그냥 document.createElement 로 하시는게 어떠실지
이미 돌리고 돌려서 되긴됐네요. 다음으로 패스할랍니다.ㅎㅎ
이미 누가 해놓은걸 버그잡는 중이라...ㅠ.ㅠ

근데 생각해보니 createElement로 해도 어차피 innerHTML를 해야하니 안될듯...
자답입니다.;;

innerHTML하기전 input 태그 갯수를 구해 for문 돌려 값이있을경우만 체크해서 new Array변수에 담아놓고, innerHTML 후에 담아놓은 값을 다시 for문 돌려 document.getElementsByName()..에 담으면 되긴 되는군요.;;;;

헙;;
헙!!! 가영이 사진이 저는 이제 바뀌어 보이네요???? 이긍~! 가영아빠님은 따님때문에 아주 녹아 내리시겠어요! 딸은 5세좀 지나면 아주 애교가 하늘을 찌른답니다.
흐흐...많이 부러우시죠?ㅎㅎㅎㅎㅎㅎ
안그래도 나중에 시집 안보낼려구요..ㅎㅎㅎㅎㅎㅎㅎㅎ
저도 울 막내 절대로 시집 안보낼려구요...ㅎㅎㅎㅎㅎㅎ
아..우리 어쩌죠......ㅠ__ㅠ
두분 장인어른도 첨엔 그랬을겁니다 ㅋㅋㅋㅋ

댓글 작성

댓글을 작성하시려면 로그인이 필요합니다.

로그인하기
🐛 버그신고