这是我的demo1.jsp页面,
<body>
<form id="myform" name="myform" method="post" action="demo2.jsp">-->
<input type="text" name="usnername" />
<input type="text" name="password"/>
<input type="submit" value="go" onclick="window.location.href='demo2.jsp'" />
</form>
这是我的demo2.jsp
<body>
<%
String Uname=request.getParameter("usnername");
String Usecret=request.getParameter("password");
out.println(Uname);
out.println(Usecret);
%>
这里的代码运行正常但是,如何在不使用sumbit按钮的情况下从demo1到demo2获取值?即,<input type="submit" value="go" onclick="window.location.href='demo2.jsp'" />
bt使用input type =“button”我们可以发送值。
答案 0 :(得分:4)
您只需要包含以下脚本。
<script language="javascript" type="text/javascript">
var xmlHttp
function showState(str)
{
//if you want any text box value you can get it like below line.
//just make sure you have specified its "id" attribute
var name=document.getElementById("id_attr").value;
if (typeof XMLHttpRequest != "undefined")
{
xmlHttp= new XMLHttpRequest();
}
var url="forwardPage.jsp";
url +="?count1=" +str+"&count2="+name";
xmlHttp.onreadystatechange = stateChange;
xmlHttp.open("GET", url, true);
xmlHttp.send(null);
}
function stateChange()
{
if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete")
{
document.getElementById("div_id").innerHTML=xmlHttp.responseText
}
}
</script>
所以如果你有代码,让我告诉你,div_id将是div标签的id,你必须显示你的结果。 通过使用此代码,您将参数传递到另一个页面。无论处理是什么,都将反映在id为“div_id”的div标签中。 您可以在任何控件的“onChange”事件上调用showState(this.value),或者不提交按钮的“onClick”事件。 进一步的询问将不胜感激。
答案 1 :(得分:2)
我正在尝试理解您的问题,似乎您希望第一个JSP中的值在第二个JSP中可用。
在JSP文件中放置Java代码片段是非常糟糕的习惯,因此代码片段应该转到servlet。
选择servlet中的值,即
String username = request.getParameter("username");
String password = request.getParameter("password");
然后将值存储在会话中:
HttpSession sess = request.getSession();
sess.setAttribute("username", username);
sess.setAttribute("password", password);
只要会话有效,这些值就可以在应用程序的任何位置使用。
HttpSession sess = request.getSession(false); //use false to use the existing session
sess.getAttribute("username");//this will return username anytime in the session
sess.getAttribute("password");//this will return password Any time in the session
我希望这是你想知道的,但请不要在JSP中使用代码片段。您始终可以使用JSP中的jstl
将值获取到JSP中:
${username}//this will give you the username in the JSP
${password}// this will give you the password in the JSP
答案 2 :(得分:2)
注意:在Test.jsp中为Form1.jsp提供准确的路径详细信息 1. Test.jsp和2.Form1.jsp
test.jsp的
<body>
<form method ="get" onsubmit="Form1.jsp">
<input type="text" name="uname">
<input type="submit" value="go" ><br/>
</form>
</body>
Form1.jsp
</head>
<body>
<% String name=request.getParameter("uname"); out.print("welcome "+name); %>
</body>
答案 3 :(得分:0)
您可以通过以下任何一种方式执行此操作,在此类表单按钮上触发onclick
,
<form id="myform" name="myform" method="post" action="demo2.jsp">
<input type="text" name="usnername" />
<input type="text" name="password"/>
<input type="button" value="go" onclick="submitForm" />
</form>
并使用javascript
,
function submitForm() {
document.forms[0].submit();
return true;
}
或者您也可以尝试Ajax
发布您的信息页
这是链接jQueryAjax
还有很好的启动示例using Ajax和here
希望这会有所帮助!!
答案 4 :(得分:0)
我不知道你想要做什么。但是你不能使用另一种形式的提交按钮发送一个表格的数据。
您可以使用会话或使用具有提交按钮的隐藏字段来执行一项操作。您可以使用javascript / jquery将值从第一个表单传递到第二个表单的隐藏字段。然后您可以提交表单。
否则最简单的就是使用会话。
<form>
<input type="text" class="input-text " value="" size="32" name="user_data[firstname]" id="elm_6">
<input type="text" class="input-text " value="" size="32" name="user_data[lastname]" id="elm_7">
</form>
<form action="#">
<input type="text" class="input-text " value="" size="32" name="user_data[b_firstname]" id="elm_14">
<input type="text" class="input-text " value="" size="32" name="user_data[s_firstname]" id="elm_16">
<input type="submit" value="Continue" name="dispatch[checkout.update_steps]">
</form>
$('input[type=submit]').click(function(){
$('#elm_14').val($('#elm_6').val());
$('#elm_16').val($('#elm_7').val());
});
这是它的jsfiddle http://jsfiddle.net/FPsdy/102/
答案 5 :(得分:0)
您也可以尝试这种方式,
HTML:
<form action="javascript:next()" method="post">
<input type="submit" value=Submit /></form>
使用Javascript:
function next(){
//Location where you want to forward your values
window.location.href = "http://localhost:8563/And/try1.jsp?dymanicValue=" + values;
}