폼에서 입력받은 값을 자바스크립트에서 입력값 유무체크 관련 질문
하나의 페이지에 폼을 두개만들고 입력받은 값을 각각 다른페이지로 넘기는 구조인데
폼에 값을 입력시 모든 항목에 입력이 되었는지..빈 항목이 있으면 경고를 하도록 하는 자바스크립트입니다.
form1은 ex.php페이지로 값을 보내고
form2는 ex1.php페이지로 값을 보내는구조
<script language="javascript">
function send(form) {
frm1 = document.form1;
if(frm1.number.value=="" || frm1.name.value=="" || frm1.buseo.value=="" || frm1.start.value=="" || frm1.close.value=="") {
alert("최소한 하나의 값이 입력되지 않았습니다. 다시 입력해 주세요");
frm1.number.focus();
return;
}
else {
frm1.submit();
}
}
</script>
두개이어서 그냥 붙여놓고 해봤는데 안되네여...
하나의 폼에 값을 입력 다른폼에 값을 입력하지 않하고 넘겨도 다음페이지로 진행이 되야 하거든요...근데 두개의 폼에 모두 값을 입력해야 다음으로 진행이 됩니다.
form1에 입력하고 from2는 입력하지 않고 해서 진행하면 값이 입력되지 않았다고 경고가 뜨고..
from1에는 입력하지 않고 form2에만 값을 입력하면 다음페이지로 잘 넘어가구요
<script language="javascript">
function send(form) {
frm1 = document.form1;
if(frm1.number.value=="" || frm1.name.value=="" || frm1.buseo.value=="" || frm1.start.value=="" || frm1.close.value=="") {
alert("최소한 하나의 값이 입력되지 않았습니다. 다시 입력해 주세요");
frm1.number.focus();
return;
}
else {
frm1.submit();
}
}
function send(form) {
frm2 = document.form2;
if(frm2.number_2.value=="" || frm2.name_2.value=="" || frm2.buseo_2.value=="" || frm2.start_2.value=="" || frm2.close_2.value=="") {
alert("최소한 하나의 값이 입력되지 않았습니다. 다시 입력해 주세요");
frm2.number_2.focus();
return;
}
else {
frm2.submit();
}
}
</script>
이 스크립트는 제가 작성한게 아니라서..그리고 자바스크립트에 '자' 글자도 모르는 쌩초보기에 고수님들한테 도움을 요청합니다.
어케 해야하는지 꼭 좀 답변을 주시면 정말 감사하겠습니다. 부탁드려여~~
form1을 처리하는
form1을 처리하는 함수를 send1, form2를 처리하는 함수를 send2 식으로 바꾸면 됩니다. 같은 이름으로 선언하면 당연히 뒤쪽 선언으로 덮이겠죠.
function 재정의 문제
javascript에서 동일한 이름의 function이 여러개 있으면 제일 마지작에 작성한 것만 유효하게 됩니다.
그리고 send()의 인수로 form이라는 것은 왜 받으셨는지 궁금하군요.
쓸데가 없는데요.
send1, send2로 나눠서 작성하시던가 하고요
또한가지는 입력값의 체크는 if(!field.value)하면 됩니다.
value가 null이던 undefined이던 ""이던 다 먹힙니다.
잘 안되는데...
form1을 처리하는 함수를 send1, form2를 처리하는 함수를 send2...
위에 말씀이 아래처럼 수정하라는 말씀인지
function send1(form) {
frm1 = document.form1;
if(frm1.number.value=="" || frm1.name.value=="" || frm1.buseo.value=="" || frm1.start.value=="" || frm1.close.value=="") {
alert("최소한 하나의 값이 입력되지 않았습니다. 다시 입력해 주세요");
frm1.number.focus();
return;
}
else {
frm1.submit();
}
}
function send2(form) {
frm2 = document.form2;
if(frm2.number_2.value=="" || frm2.name_2.value=="" || frm2.buseo_2.value=="" || frm2.start_2.value=="" || frm2.close_2.value=="") {
alert("최소한 하나의 값이 입력되지 않았습니다. 다시 입력해 주세요");
frm2.number_2.focus();
return;
}
else {
frm2.submit();
}
}
수정을 했는데 페이지 오류가 나고 안되네여...
그리고 send1, send2로 나눠서 작성하시던가 하고요..나눠서 작성하라는 말씀은 각 폼위에 아래처럼 따로 따로 코딩하라는 말씀인지..
<script>
function send2(form) {
frm2 = document.form2;
if(frm2.number_2.value=="" || frm2.name_2.value=="" || frm2.buseo_2.value=="" || frm2.start_2.value=="" || frm2.close_2.value=="") {
alert("최소한 하나의 값이 입력되지 않았습니다. 다시 입력해 주세요");
frm2.number_2.focus();
return;
}
else {
frm2.submit();
}
}
</script>
위처럼 각 폼부분에 따로따로 코딩해도 여전히 상태는 똑같습니다.
초보라서 부족한 부분이 많습니다. 무리한 부탁일지 모르겠지만 좀 더 자세히 알려주시면 감사하겠습니다.
저기만 바꾸면
저기만 바꾸면 당연히 안되죠. 저 함수를 호출하는 부분이 아마 서브밋 버튼의 onclick 이벤트일 것 같습니다. 맞죠? 거기도 바꿔야 될겁니다.
아네..그부분을 깜빡했네요
아넵 그부분을 놓치고 그냥 수정만 했었네요..
님 감사합니다. onclick 이벤트 수정하니 잘 되네요...정말 감사합니다.
댓글 달기