테스트 사이트 - 개발 중인 베타 버전입니다

onclick 과 onkeyup을 하나의 변수에 동시에 사용하면 안되는 건가요?

· 13년 전 · 1840 · 9
라디오버튼으로 숫자를 선택하면 아래에 그래프로 표시되도록 구현했는데요,
이 부분은 잘 작동합니다.
그런데 여기에서 텍스트박스에 직접 입력하기를 함께 사용하려고 하는데 직접입력 부분이 전혀 작동을 하지 않습니다.

onclick 과 onkeyup을 하나의 변수에 동시에 사용하면 안되는 건가요?
무엇이 잘못된 건지 모르겠습니다.

-------------------------------------------------------------------------------------------------------
<!--라디오선택 부분-->
<input type="radio" name="wr_1" value="100" id="wr_1" onclick="changebar(this.value);">100<br>
<input type="radio" name="wr_1" value="200" id="wr_1" onclick="changebar(this.value);">200<br>
<input type="radio" name="wr_1" value="300" id="wr_1" onclick="changebar(this.value);">300<br>
<!--직접입력 부분-->
직접입력 : <input type="text" size=10 id="wr_1" name="wr_1" itemname="숫자" numeric value="" onkeyup="changebar(this.value);" onfocus="this.value='';"> 


<script type="text/javascript">
function changebar(score) {
  limitmon = document.fviewcomment.wr_1.value;
  if (limitmon < 0 || limitmon > 300  || limitmon.length < 1) { 
    alert("점수를 0~300점 사이로 점수를 주셔야 합니다.");
    document.fviewcomment.wr_1.value= document.fviewcomment.wr_1.value.replace(/\D/g,'') ;
document.fviewcomment.wr_1.value = '';
document.getElementById("bar").width = '';
    document.fviewcomment.wr_1.focus();
    return false; 
    } 
  document.getElementById("bar").width = parseInt(score)*1;
  } 
</script>

<!--그래프로 나타나는 부분-->
<img src="../img/bar.jpg" id="bar" width="0" height="16"> 
-------------------------------------------------------------------------------------------------------

도움주시면 감사하겠습니다.

댓글 작성

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

로그인하기

댓글 9개

13년 전
onkeypress 혹은 onkeydown이벤트를 이용해보세요.
네 답변 감사합니다.
하지만 말씀하신대로 해보아도 안되는데요, 혹시 다른 문제가 있는 것 아닐지요?
13년 전
javascript:changebar(this.value); 이렇게 해보심이... 이래도 안되면 지지 ㅠㅠ
13년 전
아니면 jquery로 $(object).keypress이벤트를 걸어도 됩니다.
<!--라디오선택 부분-->
<input type="radio" name="wr_1" value="100" id="wr_1" onclick="changebar(this.value);">100<br>
<input type="radio" name="wr_1" value="200" id="wr_2" onclick="changebar(this.value);">200<br>
<input type="radio" name="wr_1" value="300" id="wr_3" onclick="changebar(this.value);">300<br>
<!--직접입력 부분-->
직접입력 : <input type="text" size=10 id="wr_4" name="wr_1" itemname="숫자" numeric value="" onkeyup="changebar(this.value);" onfocus="this.value='';">




<script type="text/javascript">
function changebar(score) {
limitmon = document.getElementById("wr_4").value;
if (limitmon < 0 || limitmon > 300 ) {
alert("점수를 0~300점 사이로 점수를 주셔야 합니다.");
limitmon.focus();
return false;
}
document.getElementById("bar").width = parseInt(score)*1;
}
</script>


<!--그래프로 나타나는 부분-->
<img src="../img/bar.jpg" id="bar" width="0" height="16">


name은 사람 이름하고 같습니다 즉 중복이 가능하나
id는 주민번호와 같아서 절대 중복이 있어서는 안됩니다
네임값으로 접근하실려면 배열로 접근해야 합니다
13년 전
오 예리하셔... ID가 같은걸 아무도 모르고 있었는데!!
한수 배웁니다 ^^
답변 정말 감사드립니다~~~
자바스크립트 짜다가 해결되지 않거나 막히면 f12눌러 보세요
어디에서 오류가 있는지 기본적으로 볼수 있는 개발자 도구가 익스7이상부터는 제공합니다

게시글 목록

번호 제목
20215
20214
20213
20212
28362
20211
20210
20209
20208
20207
20206
20205
20204
20203
20202
20201
20200
20199
JavaScript 계산기
20198
20197
20196
20195
20194
20193
20192
20191
20190
20189
20188
28361
20187
20186
20185
20184
20183
20182
20181
20180
20179
20177
8183
31027
8181
20176
20175
20174
20173
20172
20171
20170
20169
20168
20156
20154
20153
20152
8177
20151
20149
20148
20147
20146
20145
20144
20143
20142
20141
20140
20139
20137
20135
20134
20133
20129
20128
20126
8172
20123
20122
20121
20117
20116
20115
20114
20113
20112
20111
20110
20109
20108
20107
20106
20104
20103
20102
20101
31024
20100
20099
20098