[배열] select 값에따른 input 값의 한도를 체크하려 합니다. 채택완료
감기약
6년 전
조회 1,636
<form name="form" method="post" id="form" onsubmit="return submits(this);"></p>
<p> </p>
<p><select name="gi_edu_type[]"></p>
<p><option value="">학력선택</option>
<option value="2">취학전아동</option>
<option value="3" >초중고생</option>
<option value="4">대학생</option>
</select></p>
<p><input type="text" name="gi_edu_value[]" inputmode="numeric"></p>
<p> </p>
<p><select name="gi_edu_type[]"></p>
<p><option value="">학력선택</option>
<option value="2">취학전아동</option>
<option value="3" >초중고생</option>
<option value="4">대학생</option>
</select></p>
<p><input type="text" name="gi_edu_value[]" inputmode="numeric"></p>
<p> </p>
<p><select name="gi_edu_type[]"></p>
<p><option value="">학력선택</option>
<option value="2">취학전아동</option>
<option value="3" >초중고생</option>
<option value="4">대학생</option>
</select></p>
<p><input type="text" name="gi_edu_value[]" inputmode="numeric"></p>
<p> </p>
<p></form></p>
<p> </p>
<p><script></p>
<p>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;
}
}
}
}</p>
<p>}</p>
<p></script></p>
<p>
소스를 보시면 각 학력을 선택하고
그에따른 금액을 입력하려 합니다.
동적으로 추가되는 폼이라서 배열로 해야하는데요
이게 안되네요 ㅠ.ㅠ
혹시 아시는분 계시면 부탁 드립니다.
댓글을 작성하려면 로그인이 필요합니다.
답변 2개
채택된 답변
+20 포인트
6년 전
배열이라 f.gi_edu_type 이 아니라 f.elements['gi_edu_type[]'] 로 접근하셔야 할것 같은데,
기존 코드를 안고치고 하려면 아래처럼 하시면 될듯합니다.
</p>
<p> 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++) {</p>
<p> ....</p>
<p>
로그인 후 평가할 수 있습니다
답변에 대한 댓글 1개
�
감기약
6년 전
댓글을 작성하려면 로그인이 필요합니다.
6년 전
뭐를 기대하시고 뭐가 안되시는건지요? 저렇게 하면..
![]()
테스트 페이지 만들어서 해보니..이렇게 포스팅 됩니다. (폼에 입력 다 하고 확인 눌렀을 때 $_POST 값)
로그인 후 평가할 수 있습니다
답변에 대한 댓글 1개
�
감기약
6년 전
답변주셔서 감사합니다.
다시 질문글을 보니 설명이 많이 부족하네요
해당부분에서 select 값에따른 input 값의 한도를 주려한것입니다.
두 값모두 배열[]로 입력되는 상태라 select 값이 2일경우에 input 값이 3000000 을 초과하여 입력하지 못하도록 하려 합니다.
다시 질문글을 보니 설명이 많이 부족하네요
해당부분에서 select 값에따른 input 값의 한도를 주려한것입니다.
두 값모두 배열[]로 입력되는 상태라 select 값이 2일경우에 input 값이 3000000 을 초과하여 입력하지 못하도록 하려 합니다.
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인
혹시 같은 조건에 더 좋은 코드가 있다면 시간나실때 알려주세용~