这可能非常简单,但我不明白我做错了什么。我有一个有三个链接的表单,即LogIn,SignUp和ForgotPassword。我使用javascript document..action使用简单的switch case为这些链接设置操作。虽然Singup和ForgotPassword分别指的是singup.jsp和ForgotPassword.jsp,但LogIn链接指的是一个servlet。我使用web.xml文件中给出的url-pattern作为其目标。当我运行它时,点击sigin会出错。知道出了什么问题吗?
<script type="text/javascript">
function redirect(tid)
{
switch(tid)
{
case "a":
{
if(document.form.Username.value=='')
{
alert("Enter your username");
return false;
}
if(document.form.Password.value=='')
{
alert("Enter your password");
return false;
}
document.form.action="check" //check is the urlpattern defined for checkUser servlet
}
break;
case "b":
document.form.action="Signup.jsp"
break;
case "c":
document.form.action="Forgotpassword.jsp"
break;
}
}
</script>
答案 0 :(得分:1)
试试这个:
document.forms[0].action = 'Forgotpassword.jsp';
答案 1 :(得分:0)
根据对该问题的评论:
错误是此网址不支持HTTP POST方法
正在侦听URL的servlet没有覆盖doPost()
方法。显然,您正在使用<form method="post">
提交到仅实现doGet()
的servlet。您需要将doGet()
方法重命名为doPost()
。
请注意,这与您在问题中发布的JavaScript代码有无。