2012-04-10 5 views
-4

이것은 내 HTML 코드입니다. Servlet에 채워진 양식을 제출할 예정입니다. 양식 유효성 검사에 문제가있는 것 같습니다. 나는 이유를 알 수 없다. textbox2에 0을 입력하고 드롭 다운 목록 상자에서 나누기를 선택하면 새 값을 입력하라는 메시지가 표시됩니다. 하지만 폼은 서블릿에 아무런 메시지도 보내지 않고 제출되어 0으로 나눠서 예외를 발생시킵니다.자바 스크립트 양식 유효성 검사가 제대로 작동하지 않습니다.

<html> 
<head> 
<title>A simple calculator</title> 
<script language="text/javascript"> 
function validate(b,op) 
{ 
    var newval=b;   
    if(b=="0"&&op=="/") 
      newval=prompt("Enter a non-zero value for B:",1); 
    document.CalculatorForm.textbox2.value=newval; 
} 
</script> 
</head> 
<body> 
<form name="CalculatorForm" method="get" action="http://localhost:8080/hello/CalculatorServlet" onsubmit="validate(this.textbox2.value,this.dropdown.options[this.dropdown.selectedIndex].value);"> 
A:<input type="text" name="textbox1" id="T1" /><br> 
B:<input type="text" name="textbox2" id="T2" /><br> 
Operation<br> 
<select name="dropdown" id="dd"> 
<option value="+">Add</option> 
<option value="-">Subtract</option> 
<option value="*">Multiply</option> 
<option value="/">Divide</option> 
</select> 
<br> 
<input type="submit" value="compute"/> 
</form> 
</body> 
</html> 
+0

은 방화범에 오류가 발생 했습니까? – unfrev

+0

-1 무엇이 문제입니까? 제발, 더 정확하게, 버그를 추가하거나, 오류 또는 우리가 도움이 될 수있는 것보다 더 많은 것을 추가하십시오. "도움이 안된다" –

+0

무슨 일이 일어날 것입니까? 자바 스크립트 유효성 검사 오류가 있습니까? 아니면 유효성 검사 논리가 실패합니까? – MatuDuke

답변

0

변경할 수있는 기능 :

function validate() 
{ 
    var b = document.getElementById('T2').value; 
    var op = document.getElementById('dd') 
    var opValue = op.options[op.selectedIndex].value; 
    if(b=='0' && op=='/') 
     //do something 
    else 
     // submit 
} 
+0

값을 비교하고 있습니다. 당신의 코드는 selectedIndex와 op를 가져옵니다. –

+0

실수로 죄송합니다. 코드를 변경했습니다 ... 확인할 수 있습니까? – Oras

+0

작동하지 않습니다. 나는 붙어있다. 어쨌든 당신의 제안에 감사드립니다. 오타 : opValue == "/"여야합니다. –

관련 문제