innerHTML 했을경우 input 의 value값 초기화문제
div내 다수의 input text 박스에 value값이 들어있는 상태에서
innerHTML으로, += "<input type=text ... 을 추가 해줬을 경우 기존의 있던 input text의 value값이 사라지네요.
체크해보니, innerHTML할때 사라지는 걸로봐서... value값을 못가져오는거 같네요.
웃긴건 IE에서는 됩니다. 근데 크롬,파폭 나머지경우 value값을 못가져와 초기화시켜버리네요..
이해가 되실지 몰라도 혹 아시는분 계신가요?
|
댓글 작성
댓글을 작성하시려면 로그인이 필요합니다.
로그인하기
댓글 10개
<SCRIPT>
document.getElementById('aa').innerHTML +="<input type='text' value='12' id='bb'>"
alert(document.getElementById('bb').value)
</SCRIPT>
이렇게 하면 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()..에 담으면 되긴 되는군요.;;;;
헙;;
안그래도 나중에 시집 안보낼려구요..ㅎㅎㅎㅎㅎㅎㅎㅎ