1>
<form name='f' action='next.php' onSubmit="return check();" method='post'>
와 같이 정의해 주는게 일반적인데요.
return check() 라는 것은 check() 함수를 호출하여 false 가 리턴되면 폼을 전송하지 마라는 뜻입니다.
예를 들어서
check() 함수가 다음과 같이 정의 되어 있다고 합시다.
function check(){
if(f.name.value.length<2) {
alert('이름은 2글자 이상이어야 합니다.');
return false;
}
else return true;
}
이렇게 되어 있다고 했을때,
f 라는 폼에서는 전송시에 먼저 check() 함수를 실행하고,
만일 이름을 2자 이하고 입력했을경우, '이름은 2글자 이상이어야 합니다' 라는 경고창을 띄워주고, return false 를 만나게 되죠... 그러면 폼은 전송되지 않습니다.
만일 이름을 2글자 이상 입력되었다면 else 문에서 return true 를 만나게 되죠... 그럼 폼은 전송하여
서버단이나 다른 html로 전송하게 된다.
예문으로 설명을 드렸는데, 다시 정리해 드리자면
onSumbit="return check();"
라고 되어 있는 것은,
폼 전송시에 check 함수를 실행후 false 가 리턴되면 폼을 전송하지 말고,
그 외에는 폼을 전송하라... 이 뜻입니다.
2>
자바스크립트에서 이벤트 핸들러의 return값의 의미
대부분의 경우에 이벤트 핸들러는 return값을 사용하여 그 이벤트의 처리를 [출처] 자바스크립트에서 return의 의미|작성자 현지니
결정할 수 있다. 예를 들면, 폼 확인을 수행하기 위해 Form객체의 onSubmit이벤트 핸들러를 사용하여 사용자가 모든 필드를 채우지 않은 것을 발견하면 폼이 전송되지 않도록
핸들러에서 false를 반환할 수 있다.
일반적으로, onClick,onSubmit이벤트 핸들러는 false를 return해야 해당 이벤트에 따른 기본동작이 수행되는 것을 막을 수 있고 onMouseOver의 경우는 true를 return해야 해당 이벤트에 따른 기본동작이 수행되는 것을 막을 수 있다.










프로그래밍언어

php 


