0

javascript中提交按钮onclick功能的jsp页面。当我第一次单击按钮时未重定向到 CallService.jsp。之后,我点击按钮两到三遍,只有那个页面会被重定向。

请给我解决方案或理由

我的代码

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>

<script type="text/javascript">

function sample()
{

    var uname = document.getElementById("uname").value;
    //var pwd = document.getElementById("pwd").value;

    window.location.href("CallService.jsp?username="+uname);
}


</script>


<body>

<h3>User Login</h3> <br>

<form name="userlogin" method="post">

User Name : <input type="text" name="uname" id="uname"> <br>

Password : <input type="text" name="pwd" id="pwd"> <br>

<input type="submit" value="Submit" onclick="sample(this);" > 
<input type="reset" value="Cancel"> 

<div id="name"></div>
<div id="email"></div>

</form>

</body>
</html>

呼叫服务.jsp

<%


  String uname = request.getParameter("username");
  //String pwd = request.getParameter("password");


  out.println(uname);

%>
4

6 回答 6

2

您的按钮类型是

<input type="submit" value="Submit" onclick="sample(this);" > 

将其替换为:

<input type="button" value="Submit" onclick="sample(this);" > 

或者

像这样提交表单时调用您的函数:

<form method="post" name="fromname" onsubmit="yourfunction()">
于 2013-10-24T08:06:17.290 回答
2

试试这个:

window.location.href = "CallService.jsp?username="+uname;

您正在提交表单并同时重定向到另一个表单。这是不对的

于 2013-10-24T08:06:28.117 回答
1
<input type="submit" value="Submit" onclick="sample(this);" > 

您不能提交和重定向它。

在提交表单的 servlet/jsp 中,重定向页面。

于 2013-10-24T08:06:34.097 回答
0

请试试:

function sample()
{

    var uname = document.getElementById("uname").value;
    //var pwd = document.getElementById("pwd").value;

    window.location.href("CallService.jsp?username="+uname);
    //FUNCTION MUST RETURN FALSE!!
    return false;
}

<input type="submit" value="Submit" onclick="return sample(this);" > 

这样,在进行回发之前需要评估 js 函数

于 2013-10-24T08:06:43.247 回答
0

你为什么不尝试从你的java类重定向,像这样

actionResponse.sendRedirect("CallService.jsp");

于 2013-10-24T08:08:39.187 回答
0

由于您在这里使用 javascript 获取数据:

var uname = document.getElementById("uname").value;

无需使用“提交”按钮。尝试改变

<input type="submit" value="Submit" onclick="sample(this);" > 

进入

<input type="button" value="Submit" onclick="sample(this);" > 
于 2013-10-24T08:09:14.783 回答