这是我的 HTML/Javascript 代码。我将填写的表单提交给 Servlet。表单验证似乎存在一些问题。我不知道为什么。如果我在 textbox2 中输入 0 并从下拉列表框中选择 Divide,它应该会提示我输入一个新值。但事实并非如此,并且表单在没有任何提示的情况下提交给由于被零除而引发异常的 servlet。
<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>