[배열] select 값에따른 input 값의 한도를 체크하려 합니다.
본문
<form name="form" method="post" id="form" onsubmit="return submits(this);">
<select name="gi_edu_type[]">
<option value="">학력선택</option>
<option value="2">취학전아동</option>
<option value="3" >초중고생</option>
<option value="4">대학생</option>
</select>
<input type="text" name="gi_edu_value[]" inputmode="numeric">
<select name="gi_edu_type[]">
<option value="">학력선택</option>
<option value="2">취학전아동</option>
<option value="3" >초중고생</option>
<option value="4">대학생</option>
</select>
<input type="text" name="gi_edu_value[]" inputmode="numeric">
<select name="gi_edu_type[]">
<option value="">학력선택</option>
<option value="2">취학전아동</option>
<option value="3" >초중고생</option>
<option value="4">대학생</option>
</select>
<input type="text" name="gi_edu_value[]" inputmode="numeric">
</form>
<script>
function submits(f) {
for (var i = 0; i< 20; i++) {
if (f.gi_edu_type[i].value != "") {
if(f.gi_edu_type[i].value == 4){
if(f.gi_edu_value[i].value > 9000000) {
alert("대학생 교육비는 최대 900만원까지 입력가능합니다.");
f.gi_edu_value[i].focus();
return false;
}
} else if(f.gi_edu_type[i].value == 3){
if(f.gi_edu_value[i].value > 3000000) {
alert("초중고 교육비는 최대 300만원까지 입력가능합니다.");
f.gi_edu_value[i].focus();
return false;
}
} else if(f.gi_edu_type[i].value == 2){
if(f.gi_edu_value[i].value > 3000000) {
alert("취학전 아동 교육비는 최대 300만원까지 입력가능합니다.");
f.gi_edu_value[i].focus();
return false;
}
}
}
}
}
</script>
소스를 보시면 각 학력을 선택하고
그에따른 금액을 입력하려 합니다.
동적으로 추가되는 폼이라서 배열로 해야하는데요
이게 안되네요 ㅠ.ㅠ
혹시 아시는분 계시면 부탁 드립니다.
!-->
답변 2
배열이라 f.gi_edu_type 이 아니라 f.elements['gi_edu_type[]'] 로 접근하셔야 할것 같은데,
기존 코드를 안고치고 하려면 아래처럼 하시면 될듯합니다.
function submits(f) {
f.gi_edu_type = f.elements['gi_edu_type[]']; // 추가
f.gi_edu_value = f.elements['gi_edu_value[]']; // 추가
for (var i = 0; i< 20; i++) {
....
답변을 작성하시기 전에 로그인 해주세요.