2013-10-24 34 views
0

jsp页面提交按钮onclick函数在javascript中。当我第一次点击按钮没有重定向到CallService.jsp。我只点击了按钮两到三次后,只有该页面将被重定向。Window.location.href有时候不工作的原因是什么?

请给我的解决方案或原因

我的代码

<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> 

CallService.jsp

<% 


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


    out.println(uname); 

%> 
+4

您在提交表格,并重定向到另一种形式同时进行。这是不正确的 – karaxuna

回答

2

您的按钮类型是

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

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

<form method="post" name="fromname" onsubmit="yourfunction()"> 
+0

感谢您的帮助,现在它工作正常 –

2

试试这个:,取而代之的是

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

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

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

你不能提交和重定向这个。

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

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函数将需要进行回传

0

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

ActionResponse的被evaluted。的sendRedirect( “CallService.jsp”);

+0

没有我的要求是登录身份验证,所以我不得不打电话给该页面使用js或ajax只有tats y..any方式谢谢你的答复 –

0

既然你在这里使用javascript获取数据:

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

世界上没有必要使用“提交”按钮。尝试改变

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

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

感谢您的帮助,现在它正在工作精细 –

相关问题