2013-10-24 33 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

感謝您的幫助,現在它正在工作精細 –

相關問題