2009-09-30 2 views

답변

1

이 그것을 수행해야합니다 양식의 제출 이벤트에 대해 함수를 연결합니다

document.getElementById('myForm').onsubmit = function() { 
    var elems = document.getElementsByClassName('req'); 
    for(var i = 0; i < elems.length; i++) { 
     if(elems[i].value.length == 0) { 
      return false; 
     } 
    } 
} 

합니다. 이러한 요소 중 하나라도 비어 있으면 함수는 즉시 false를 반환하여 양식이 제출되지 않도록합니다.

당신이 공백 전용 값을 작성, 당신이 함께 위의 경우 조건을 대체 할 수있는 계산하지 않으려면 : 폼에 "onsubmit"이벤트 핸들러를 추가

if(elems[i].value.replace(/^\s+|\s+$/g,"").length == 0) { 
    ... 
+0

숨겨진 또는 기타 필요한 입력 빈 값을 갖는 경우는 실패를 정의 할 수 있습니다. –

+1

@mikesamuel - 나는 어떻게 보지 못한다. 아래 표가 정말로 필요 했습니까? – karim79

+0

나는 동의한다, karim, 이것은 단지 'req'필드 만있는 것처럼 작동 할 것인가? – Zlatko

0

것 필요할 때 행동을 취하게하십시오.

<form onsubmit="checkMyForm(this)"> 
    ... 
    </form> 

그럼 당신은 핸들러

<script> 
    function checkMyForm(myForm) { 
    for (var i = 0; i < myForm.elements.length; ++i) { 
     var input = myForm.elements[i]; 
     if (/\breq\b/.test(input.className) && !input.value) { 
     // Has an empty required input 
     alert('Please enter all required inputs'); 
     input.focus(); 
     return false; // abort form submission 
     } 
    } 
    } 
    </script> 
+0

onsubmit = "checkMyForm (this)"= 침입 자바 스크립트 = 퍽. – karim79

+0

잘 생겼지 만, (/ \ breq \ b/.test (... 라인, 거기에 무슨 일이 일어나는지 말해 줄 수 있니? – BigOmega

관련 문제