2011-12-30 6 views
0

자바 스크립트를 통해 제출 된 양식의 유효성을 검사하려고합니다. 아이디어 양식은 접수 된 값의 집합 목록이 있고이 값만 작동한다는 것입니다. 필드가 검은 색이면 ID가 잘못되었다는 경고를 보냅니다. 필드에 목록에없는 입력이 있으면 해당 ID가 올바르지 않음을 표시합니다. 나는 가까이왔다. 좀 더 방향이 필요해.목록에서 자바 스크립트 유효성 확인

script type="text/javascript"> 
     function validateForm() 
     { 
      var x=document.forms["dispatch"]["ID1"].value; 
      var arr=["CA238", "Pete", "John"]; 
      if x==(.inArray(inputVal, arr) > -1) 
      { 
    alert("Correct Dispatcher ID Required"); 
    return false; 
    } 
} 
</script> 

<form id="form_242533" class="appnitro" name="dispatch" onsubmit="return validateForm()" method="post" action="<?php echo $_SERVER["PHP_SELF"]?>"> 
<li id="li_9" > 
      <label class="description" for="element_1">Dispatch ID</label> 
     <div> 
      <input id="element_1" name="ID1" class="element text medium" type="text" value=""/> Put your assigned dispatcher ID 
     </div> 
     </li> 

        <li class="buttons"> 
       <input type="hidden" name="Submit" value="Submit" /> 

       <input id="submit" class="button_text" type="submit" name="submit" value="Submit" /> 
       <input type="reset" /> 

     </li> 
      </ul> 
     </form> 
+0

"허용되는 값 목록 설정", 예? 목록 상자는 어떻습니까? – James

+0

양식의 아이디어는 사용자 ID입니다. 양식에 제출할 수있는 각 사용자는 목록의 ID (현재 배열에 있음)를 ID에 넣고 양식 제출을 확인합니다. 양식에 양식이 없을 때 ID가 누락되었거나 잘못되었음을 알립니다. – nate

답변

2

변경이 : 이것에

if x==(.inArray(inputVal, arr) > -1) 

:

if ($.inArray(x, arr) == -1) 

것은 당신이 jQuery를 사용하는 경우

여기 내 코드입니다. 이 페이지에 jQuery를하지 않은 경우


이 대신로 변경 :

if (arr.indexOf(x) == -1) 

참고 그러나,이 방법은 추가 IE < 9. the polyfill provided here에서 작동하지 않습니다 indexOf은 IE의 이전 버전을 지원합니다.

+0

그러나 빈 입력 또는 잘못된 입력에 관계없이 제출을 허용합니다./ – nate

+0

@NathanDollinger - jQuery를 사용하고 있습니까? –

+0

그것의 다만 javascript 나는 새로운 방법 그러나 나는 그것을 시도하고 아직도 결과를받지 않았다, 다른 어떤 문제점이 원본 또는 모양 자체에서있을 수 있 었는가? – nate