2013-05-07 3 views
0

문제 1 :인쇄 오류/숫자 양식 제출 양식 중지

필드에 입력 한 모든 문자가 숫자인지 확인하는 간단한 javascript 함수를 만들려고합니다. 이 기능은 실행 중이지만 내가 기대했던대로는 아닙니다. 나는 isNaN 함수를 javascript에 위치 시켰으며 작동하지 않는 것으로 보인다. 상자에 "asdf"또는 "1234"를 입력해도 매번 if 문을 입력합니다.

문제 2 :

나는 자리에 대한 검사가 실패하면 형태가 분명 제출을 중지 할 수 있습니다. 그러나 제출 페이지로 계속 진행하길 원합니다. 필자는 순수한 JavaScript로이 작업을 수행하는 방법을 읽었으며 지시 된대로 구현 된 결과를 얻었습니다. 이것을 수행 할 수있는 실행 가능한 방법입니까? 대안?

어떤 도움을 문제 1 또는 2

여기 내 전체 코드의에 좋은 것 :

<title>Bank System</title> 

<script type="text/javascript"> 

     function checkNumeric() 
     { 
       var pin = document.getElementById('pin'); 
       if(isNaN(pin)) 
       { 
         document.getElementById('message').innerHTML="Not A Valid Number"; 
         return false; 
       } 
       else 
       { 
         return true; 
       } 

     } 




</script> 

<body style="background-color: gray;"> 

     <h1>Welcome To Clayton's Credit Union</h1> 
     </br></br> 

     <form action="process.php" method="POST"> 
       <label>Username: <input type="text" name="username"/></label> 
       </br> 
       <label>Pin Number<input type="text" maxlength="4" name="pin" id="pin"/></label> 
       </br></br> 
       <input type="submit" value="Submit" name="submit" onClick=" return checkNumeric()"/> 
       <p id="message"></p> 
       </br> 

     </form> 
이 * 참고,이 어쨌든에서 안전하지 않습니다 알고있다. 나는 그것이 얼마나 취약한지를 보여주기 위해 특별히이 예를 만들고있다.

답변

2

값이 아닌 isNaN으로 요소를 전달 중입니다. 이 시도 :

var pin = document.getElementById('pin').value; 

을 BTW

당신은 양식이 유효성 검사를 실행해야합니다 버튼을 클릭하는 대신 제출

<form action="process.php" method="POST" onsubmit="return checkNumeric()"> 

<input type="submit" value="Submit" name="submit" /> 

대신 :

<form action="process.php" method="POST"> 

<input type="submit" value="Submit" name="submit" onclick="return checkNumeric()" /> 
+0

가 잘 작동 ! 정말 고마워! – ZAX

+0

@ZAX 도와 줘서 기쁩니다. 또한, onclick' 속성을'form' 태그에서'onsubmit'으로 업데이트했습니다. –