2014-01-20 2 views
1

적어도 하나의 옵션을 입력하도록 사용자에게 요청하려고합니다. 내 코드에서 사용자는 모든 입력을 입력해야합니다. 아무도 내 코드에 문제가 있는지 확인할 수 있습니까?Javascript 유효성 검사 양식 또는 함수

JSP

<form role="form" method="POST" id="search" action="Servlet" 
     onsubmit="return validateForm();"> 

    <label>Name</label> 
    <input name="name"> 

    <label>ID</label> 
    <input name="id"> 

    <label>no</label> 
    <input name="no"> 

    <button type="submit">Search</button> 
</form> 

자바 스크립트

function validateForm() { 
    var name = document.forms["search"]["name"].value; 
    var id = document.forms["search"]["id"].value; 
    var no = document.forms["search"]["no"].value; 

    if ((name == null || name == "") || (id == null || id == "") || (no == null && no == "")) { 
     alert("Please enter either one to perform search"); 
     return false; 
    } 
} 
+0

HTML도 게시하십시오. – Sergio

+0

이름이 비어 있거나 ID가 비어 있거나 없으면 확인하십시오. .. 그 필드 중 하나가 비어 있다면 그것은 계속되지 않습니다 –

+0

@Sergio 나는 html 코드를 넣습니다. 이것을 봐주세요. 감사! – newbieinjavaversion2

답변

0
function validateForm() { 
    var name = document.forms["search"]["name"].value; 
    var id = document.forms["search"]["id"].value; 
    var no = document.forms["search"]["no"].value; 

    if ((name == null || name == "") && (id == null || id == "") && (no == null || no == "")) { 
     alert("Please enter either one to perform search"); 
     return false; 
    } 
} 

또는 @isherwood처럼 사용하면됩니다. 또한 입력 태그를 닫지 않는 것과 같은 오타를 처리하십시오 행운을 빕니다. <input name="no"/> 행운을 빕니다. 도움이 되길 바랍니다.

1

그냥 약간의 논리 조정은 트릭을 수행해야합니다이 말하는

if ( 
    (name != null || name != "") || 
    (id != null || id != "") || 
    (no != null && no != "") 
) { 

를하는 경우 중 어느 하나에 fi 필드에는 값이 있습니다. 계속하십시오.

+0

왜 괄호를 사용합니까?! 모든 경우를 ORing하고 있기 때문에 그룹화해서는 안됩니다;) –

+0

그렇지 않았습니다. OP가 그랬어. 방금 논리를 뒤집 었어. – isherwood