jsp에 input이 forEach 문으로 여러개 만들어지고,
해당 input에 모두 숫자만 입력하게 하고 싶을 때
HTML
<c:forEach var="test_var" items="${list}" varStatus="vs">
<input type="text" id="a_${vs.count}" class="test_class" name="b_${vs.count}" value=""> 단위
</c:forEach>
JavaScript
<script>
var elements = document.getElementsByClassName("test_class");
function update() {
var value = this.value;
var id = this.id;
value = value.replace(/[^0-9]+/g,'');
if(id != '' || id != null){
document.getElementById('' + id + '').value = value;
}
}
Array.from(elements).forEach(function(element) {
element.addEventListener('input', update);
});
</script>
* 참고
https://stackoverflow.com/questions/19655189/javascript-click-event-listener-on-class
'개발 > JavaScript' 카테고리의 다른 글
스크랩 | JavaScript | 윈도우 이모티콘(window emoji) 정규식 (0) | 2021.12.01 |
---|---|
javascript | non-breaking space (char code 160) (0) | 2021.11.25 |
javascript | textarea text추가 (0) | 2021.09.14 |
JavaScript | do{} 구문, 완료값 반환 (0) | 2021.06.13 |
javascript | list null 체크 , NodeList[] (0) | 2021.03.17 |