用form提交 但不希望跳转页面 比如我把几个数值写在input中 然后希望点击 ‘提交数据’的时候把数据放到后台中去 但希望页面还是这个页面 不能用Ajax 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 那你可以提交到action后仍然返回当前页面就可以了 可以form提交到action处理好后返回 一个页面 比如test.html在test.html页面写代码<html><head></head><body onload="javascript:history.back()"> //这里就返回原来页面了</body></html> 如果使用struts这种肯定是会跳转的,不然会变成一变空白的页面。方法:提交成功 在action中 指定返回到当前如 input.jsp页面。如果你要把表单中内容还保留,那这样跳转回来的就会没有,可以在后台操作时写到session中,页面再去取。--不过一般也不整这样的吧~~ 把后台代码写在此JSP中,<form action=""> 先跳到servlet中,接收处理数据,然后由servlet调回当前页的了。 增加个form 提交的target指向该form 提交后重新跳会原来的页面原来页面的数据用request存放就可以了 iframe这种方式其实是已经提交到新的页面去了,但新页面none没有显示出来,并且新页面只有js,显示出来什么也看不到,新页面的js用parent来操作父页面。 另一个方法用Ajax提交也可以。 1.能不能给个void的action呢!!!2.如果要保存之前页面上的数据, 这个action的<result type='redirect'>就配置成之前跳进这个页面的action3.如果既要保存之前页面上的数据,提交后又有新的数据要显示,又不用ajax,那就把之前的数据重新调用哈哈,浅见浅见 <iframe src="about:blank" name="blankFrame" id="blankFrame" style="display: none;"></iframe><form target="blankFrame" action="...." 呵呵 不能用Ajax啊 我做的是手机方面的 你可以自己弄个iframe出来,然后把值都弄过去做个form提交,类似于这样document.forms[0].target=frameName;document.forms[0].action = url;document.forms[0].submit();document.forms[0].target=""; 1jsp中 :<form action=‘方法2’> 2action中: public String 方法1(){ return SUCCESS; } public String 方法2() throws Exception{ ……执行方法 }3struts配置中<action name="名" class="Action类" method="方法1">这里成功失败都返回同一个页面</action><action name="名" class="Action类" method="方法2">这里成功失败都返回同一个页面</action> 那就跳转回本页面吧,不然只能用ajax了 用 iframe 还是会刷新的,用 jquery的form插件吧,将普通的form提交转换成ajax方式提交,页面无刷新,就能获得提交请求是否执行完毕。 不用ajax的话就只能用frame了 可以把frame隐藏起来... 要实现无跳转,只有两种方法,使用隐藏的iframe, 使用AJAX 我的想法是这样的,可以先放到ServletContext里面去,然后写个Listener启个定时启,每格多久从里面获得数据,然后写入数据库,这个定时器时间应该短一点,比如10S,20S这样子,否则有时候就提交不会成功了 ,特别是重启应用的时候 start.jsp<%@ page contentType="text/html; charset=UTF-8" %><%%><html><head><title>start</title><script type="text/javascript" language="javascript">//程序子表单需要的javascriptvar errorScript = "";function canSave(){ return check();}function commitForm(){ return true;}function save(){ var sFeatures = "dialogHeight:125px;dialogWidth:334px;"; sFeatures = sFeatures + "center:yes;edge:raised;scroll:auto;status:no;unadorned:yes;" return window.showModalDialog("dialog.jsp",this,sFeatures);}</script></head><body bgcolor="#ffffff"><form action="submit.jsp" method="POST" name="subForm"> <input type="text" name="name" value="test"/></form><br /><a href="#" onclick="javascript:save();">发送</a></body></html>dialog.jsp<%@ page contentType="text/html; charset=UTF-8" %><script type="text/javascript" language="javascript">var f = window.dialogArguments;function submitForm(){ var fromForm = f.document.all.item("subForm"); document.all.item("test").innerHTML += "<iframe name=\"submit_iframe\" height=\"0\"/>"; var toForm = document.all.item("subForm"); toForm.attributes.item("action").value = fromForm.attributes.item("action").value; toForm.innerHTML = fromForm.innerHTML; toForm.submit();}function closeDialog(status,errorScript){ f.errorScript = errorScript; window.returnValue=status; window.close();}</script> <table cellpadding="0" cellspacing="1" border="0" width="100%" > <tr> <td style="display:none" id="test" width="0"> <form method="POST" name="subForm" action="#" target="submit_iframe"> </form> </td> </tr> <tr> <td valign="middle" align="center" style="height:100px"> 正在处理中... <script type="text/javascript">submitForm();</script> </td> </tr> </table>submit.jsp<%@ page contentType="text/html; charset=UTF-8" %><%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %><%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean" %><%@ taglib uri="/WEB-INF/struts-logic.tld" prefix="logic" %><html><head><title>send_view</title></head><body bgcolor="#ffffff"><script language="javascript" type="text/javascript">alert("完成form提交");parent.closeDialog(true,'成功信息');</script></body></html>哈哈,好了,膜拜吧!呵呵呵! 呵呵 承认写的非常好 但是不能用 我做的是手机方面的 js jquery 都不能用 啊 关于正则表达式 Unable to read TLD "META-INF/c.tld" from JAR file .jsp could not be restored 在线求各位大虾拔刀相助 String的问题 来看看 高手救命:pojo式发布的方法有个是返回boolean型值,怎么写client方的调用呢? 求JSP的类的调用方法 struts问题 有没有JAVA多线程编程的框架 在jbuilder中struts的结构图的生成 SSH整合开发的配置问题 求教大手 谢了 【代码求优化】
<head>
</head>
<body onload="javascript:history.back()"> //这里就返回原来页面了
</body>
</html>
方法:提交成功 在action中 指定返回到当前如 input.jsp页面。如果你要把表单中内容还保留,那这样跳转回来的就会没有,
可以在后台操作时写到session中,页面再去取。--不过一般也不整这样的吧~~
这种方式其实是已经提交到新的页面去了,但新页面none没有显示出来,并且新页面只有js,显示出来什么也看不到,新页面的js用parent来操作父页面。
另一个方法用Ajax提交也可以。
2.如果要保存之前页面上的数据, 这个action的<result type='redirect'>就配置成之前跳进这个页面的action
3.如果既要保存之前页面上的数据,提交后又有新的数据要显示,又不用ajax,那就把之前的数据重新调用
哈哈,浅见浅见
<form target="blankFrame" action="...."
document.forms[0].target=frameName;
document.forms[0].action = url;
document.forms[0].submit();
document.forms[0].target="";
2action中: public String 方法1(){
return SUCCESS;
}
public String 方法2() throws Exception{ ……执行方法 }
3struts配置中
<action name="名" class="Action类" method="方法1">这里成功失败都返回同一个页面</action>
<action name="名" class="Action类" method="方法2">这里成功失败都返回同一个页面</action>
<%%>
<html>
<head>
<title>
start
</title>
<script type="text/javascript" language="javascript">
//程序子表单需要的javascript
var errorScript = "";function canSave()
{
return check();
}
function commitForm(){
return true;
}
function save(){
var sFeatures = "dialogHeight:125px;dialogWidth:334px;";
sFeatures = sFeatures + "center:yes;edge:raised;scroll:auto;status:no;unadorned:yes;"
return window.showModalDialog("dialog.jsp",this,sFeatures);
}
</script>
</head>
<body bgcolor="#ffffff">
<form action="submit.jsp" method="POST" name="subForm">
<input type="text" name="name" value="test"/>
</form>
<br />
<a href="#" onclick="javascript:save();">发送</a>
</body>
</html>dialog.jsp<%@ page contentType="text/html; charset=UTF-8" %>
<script type="text/javascript" language="javascript">
var f = window.dialogArguments;
function submitForm(){
var fromForm = f.document.all.item("subForm");
document.all.item("test").innerHTML += "<iframe name=\"submit_iframe\" height=\"0\"/>";
var toForm = document.all.item("subForm");
toForm.attributes.item("action").value = fromForm.attributes.item("action").value;
toForm.innerHTML = fromForm.innerHTML;
toForm.submit();
}
function closeDialog(status,errorScript){
f.errorScript = errorScript;
window.returnValue=status;
window.close();
}
</script>
<table cellpadding="0" cellspacing="1" border="0" width="100%" >
<tr>
<td style="display:none" id="test" width="0">
<form method="POST" name="subForm" action="#" target="submit_iframe">
</form>
</td>
</tr>
<tr>
<td valign="middle" align="center" style="height:100px">
正在处理中...
<script type="text/javascript">submitForm();</script>
</td>
</tr>
</table>submit.jsp<%@ page contentType="text/html; charset=UTF-8" %>
<%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %>
<%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean" %>
<%@ taglib uri="/WEB-INF/struts-logic.tld" prefix="logic" %>
<html>
<head>
<title>
send_view
</title>
</head>
<body bgcolor="#ffffff">
<script language="javascript" type="text/javascript">
alert("完成form提交");
parent.closeDialog(true,'成功信息');
</script>
</body>
</html>哈哈,好了,膜拜吧!呵呵呵!