jsp 如何实现将表单外和表单同时提交给后台?
将区域1的表单和区域2的树对应的值传至后台action(通过点击区域1中的查询按钮),将得到的数据填入区域3的表格中,然后双击区域3的某一行,得到数据显示在区域4中。区域...
将区域1的表单和区域2的树对应的值传至后台action(通过点击区域1中的查询按钮),将得到的数据填入区域3的表格中,然后双击区域3的某一行,得到数据显示在区域4中。
区域1 的传值方式是< form action = "***.action" type = post >
区域2 的传值方式是 ***.action?id=${id};
因为是初学JSP,我想可以用两种方式实现:
ajax实现,但是ajax传值容易,返回值很难,如何将返回的表格返回,并且它的位置还十分精确?
通过iframe实现,但是我之后只传表单或是只传几个ID值,如何将他们同时传给后台。听别人说可以通过将区域2中的ID值通过hidden的方式写进区域1中,然后提交表单即可,但是这个js我不会写,请大家赐教! 展开
区域1 的传值方式是< form action = "***.action" type = post >
区域2 的传值方式是 ***.action?id=${id};
因为是初学JSP,我想可以用两种方式实现:
ajax实现,但是ajax传值容易,返回值很难,如何将返回的表格返回,并且它的位置还十分精确?
通过iframe实现,但是我之后只传表单或是只传几个ID值,如何将他们同时传给后台。听别人说可以通过将区域2中的ID值通过hidden的方式写进区域1中,然后提交表单即可,但是这个js我不会写,请大家赐教! 展开
4个回答
展开全部
根据我的理解,你的区域1和区域2是两部分参数,但是,当点击区域1的查询时,需要把两个区域的值都传到后台,如果是这样的话,两种方式:
1、form提交 你的区域1如果一定要是from提交的话,你就可以在区域1的form中写几个隐藏域,具体写几个隐藏域需要看你区域2有几个值需要传到后台,然后你通过form提交就可以取到你想要的值,from隐藏域写法:<input type="hidden" id="hid_test"/>
2、ajax提交 将你区域1中的form的action属性删除,同时将查询按钮添加一个click事件,比如queryList(),然后通过这个方法就可以实现:
function queryList(){
$.ajax(function(){
url :"xxx.action",
type:"post",
data:({"aa":11,"bb":22}),
success:function(data){
//这里是方法调用成功后所要做的操作
//你可以将data返回值取到,然后做你想要的操作
//假设你后台json存放的值为quyu3List,这里你通过var quyu3 = data.quyu3List;来取值
//取到值后,通过动态加载来实现区域3的局部加载
}
});
}
希望对你有帮助
1、form提交 你的区域1如果一定要是from提交的话,你就可以在区域1的form中写几个隐藏域,具体写几个隐藏域需要看你区域2有几个值需要传到后台,然后你通过form提交就可以取到你想要的值,from隐藏域写法:<input type="hidden" id="hid_test"/>
2、ajax提交 将你区域1中的form的action属性删除,同时将查询按钮添加一个click事件,比如queryList(),然后通过这个方法就可以实现:
function queryList(){
$.ajax(function(){
url :"xxx.action",
type:"post",
data:({"aa":11,"bb":22}),
success:function(data){
//这里是方法调用成功后所要做的操作
//你可以将data返回值取到,然后做你想要的操作
//假设你后台json存放的值为quyu3List,这里你通过var quyu3 = data.quyu3List;来取值
//取到值后,通过动态加载来实现区域3的局部加载
}
});
}
希望对你有帮助
更多追问追答
追答
把你的提交方式改了,改成一个js方法,比如:aa(periodId,formId),里面两个参数就是你要提交的方法后面的参数,
function aa(periodId,formId){
$.ajax(
url : "QueryBasForm.do",
data : ({"periodId":periodId,"formId":formId}),
type : "post",
success : function(obj){
//这里写你的逻辑
}
);
}
追问
可是我的返回是一个表格,即区域3,这个返回的数据很难写吧,而且如何调试它的位置也很难,需要css.可不可以将返回的数据填入到已有的表格中呢?
展开全部
实现思路就是在表外做一个隐藏的div,之后做一个button按钮,之后直接将所有的信息汇总到此button的点击事件中统一提交。
举例:
<div id="div" style="display: none" >
<div>
<!-- 所有申请的记录显示-->
<form name="form22" id="form22" method="post" action="${ctx}/manage/view/exchange_rate_aintenance" >
<table class="table_common" cellspacing="0" cellpadding="0" id="table2">
<tr >
<td class="title_tr" align="left" colspan="3">
货币类型: <input type="text" id="c_n" name="c_n" style="width:90px;margin: 1" />
</td>
</tr>
<tr>
<td class="title_tr" align="center" colspan="3">
<input type="button" style="white-space: nowrap; text-align: center;" class="List_Button2" value="提交" onclick="addRow()" />
<%-- <input type="reset" style="white-space: nowrap; text-align: center;" class="List_Button2" value="<BOC:I18N name="reset"/>" onclick='confirm("你确认不做任何修改吗?")'/> --%>
<input type="reset" style="white-space: nowrap; text-align: center;" class="List_Button2" value="<BOC:I18N name="reset"/>" onclick="reset1()"/>
</td>
</tr>
</table>
</form>
</div>
</div>
function submit(){
//此处将所有的要提交的内容直接汇总到上面的隐藏表中,实际总后提交的是隐藏表
document.forms(form22).submit();
}
举例:
<div id="div" style="display: none" >
<div>
<!-- 所有申请的记录显示-->
<form name="form22" id="form22" method="post" action="${ctx}/manage/view/exchange_rate_aintenance" >
<table class="table_common" cellspacing="0" cellpadding="0" id="table2">
<tr >
<td class="title_tr" align="left" colspan="3">
货币类型: <input type="text" id="c_n" name="c_n" style="width:90px;margin: 1" />
</td>
</tr>
<tr>
<td class="title_tr" align="center" colspan="3">
<input type="button" style="white-space: nowrap; text-align: center;" class="List_Button2" value="提交" onclick="addRow()" />
<%-- <input type="reset" style="white-space: nowrap; text-align: center;" class="List_Button2" value="<BOC:I18N name="reset"/>" onclick='confirm("你确认不做任何修改吗?")'/> --%>
<input type="reset" style="white-space: nowrap; text-align: center;" class="List_Button2" value="<BOC:I18N name="reset"/>" onclick="reset1()"/>
</td>
</tr>
</table>
</form>
</div>
</div>
function submit(){
//此处将所有的要提交的内容直接汇总到上面的隐藏表中,实际总后提交的是隐藏表
document.forms(form22).submit();
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
自己写一个查询按钮的点击事件,然后在这个事件里面,把区域2中的值写入到区域中的隐藏域中,然后再提交form表单
在区域1中加入<input type="hidden" id="val1"/>,然后在事件里面用document.getElementById("val1").setValue("区域2中取得的值"),再取得区域1的表单.submit()一下
在区域1中加入<input type="hidden" id="val1"/>,然后在事件里面用document.getElementById("val1").setValue("区域2中取得的值"),再取得区域1的表单.submit()一下
更多追问追答
追问
追答
这dTree也应该有提供方法,当选中节点的时候能取得节点上的值吧?
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
通过隐藏的form提交,或者ajax提交都可以
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询