希望有详细点的示例
如
while (rs.next()) {
<form name="<%=formname%>" action="index.jsp" method="post">
用户名:<input type="text" name="uid" value="<%=ZGH%>">
域名:<input type="text" name="domain_name" value="lzy.edu.cn">
密码:<input type="text" name="pass" value="<%=OAMM%>">
重输密码:<input type="text" name="confirm_pass" value="<%=OAMM%>">
<input type="submit">
document.<%=formname%>.submit();
}
每次遍历出一个form表单 就把内容提交到里面的内容到index.jsp 但提交后并不让页面跳转到index.jsp
------------------------------------------------------------------------------------------------------------------
问题补充:
antiwise 写道
- xmlHttp就是普通的ajax对象
- function ajaxSubmitForm(aform,tourl){
- var eles = aform.elements;
- var xml='<?xml version="1.0" encoding="UTF-8"?><form>';
- for(var i=0,ilen=eles.length;i<ilen;i++){
- if(!eles[i].name||eles[i].disabled==true)continue;
- if(eles[i].type=='text'||eles[i].type=='textarea'||eles[i].type=='select-one'||eles[i].type=='hidden'||eles[i].type=='password'||((eles[i].type=='radio'||eles[i].type=='checkbox')&& eles[i].checked))
- {
- xml+='<'+eles[i].name+'>'+swapStr(eles[i].value)+'</'+eles[i].name+'>';
- }
- if(eles[i].type=='select-multiple')
- {
- var opts=eles[i].options;
- for(var j=0,jlen=opts.length;j<jlen;j++){
- if(!opts[j].selected)continue;
- xml+='<'+eles[i].name+'>'+opts[j].value+'</'+eles[i].name+'>';
- }
- }
- }
- xml+='</form>';
- xmlHttp.open('post',aform.getAttributeNode('action').value,true);
- xmlHttp.onreadystatechange=function (){
- if(xmlHttp.readyState!=4||xmlHttp.status!=200)return;
- var str=xmlHttp.responseText;
- alert(str);
- if(tourl)window.location.href=tourl;
- else{
- window.returnValue=true;
- window.close();
- }
- }
- xmlHttp.send(xml);
- }
- function swapStr(str)
- {
- if(!str)return '';
- str=str.replace(/&/g,'&');
- str=str.replace(/</g,'<');
- str=str.replace(/>/g,'>');
- str=str.replace(/'/g,''');
- str=str.replace(/"/g,'"');
- return str;
- }
- 服务器端
- private Map<String,String[]> xmlToMap(HttpServletRequest request) throws DocumentException, IOException{
- Map<String,String[]> map=new HashMap<String,String[]>();
- SAXReader reader = new SAXReader();
- Document doc = reader.read(request.getInputStream(),"UTF-8");
- Element root = doc.getRootElement();
- List<Element> es=root.elements();
- HashSet<String> keys=new HashSet<String>();
- for(Element e:es)keys.add(e.getName());
- int i=0;
- for(String key:keys){
- es=root.elements(key);
- String[] vals=new String[es.size()];
- for(Element e:es)vals[i++]=e.getText();
- i=0;
- map.put(key, vals);
- }
- if(false)printMap(map);
- return map;
- }
- private void printMap(Map<String,String[]> map){
- StringBuffer sbf=new StringBuffer();
- for(String key:map.keySet()){
- sbf.append(key).append(":{");
- for(String val:map.get(key)){
- sbf.append("\"").append(val).append("\",");
- }
- sbf.append("}\n");
- }
- Debug.print(sbf.toString());
- }
- private void printMessage(HttpServletResponse response,String message){
- try {
- response.setContentType("text/html;charset=utf-8");
- PrintWriter writer=response.getWriter();
- writer.write(message);
- writer.close();
- } catch (IOException e) {
- Debug.print(e);
- }
- }
- public ActionForward ece(ActionMapping mapping,ActionForm form, HttpServletRequest request, HttpServletResponse response)
- throws IOException, ServletException{
- String message="操作成功!";
- try{
- Map<String, String[]> map=xmlToMap(request);
- //业务逻辑
- }catch (SQLException e) {
- }finally{
- printMessage(response,message);
- } return null;
- }
绝对吐血奉献了 公司机密
![](http://pubimage.360doc.com/wz/default.gif)
没看明白 能按照我上面的两个form表单做一个么 谢谢了
------------------------------------------------------------------------------------------------------------------
问题补充:
antiwise 写道
不好意思刚才没看清楚你的需求 但是你的需求很奇怪
依你的意思无非是将本页面信息同时通知到另外一个页面,这个和ajax无关,因为你完全不需要客户端参与 你要做的就是用session 存贮当前信息 然后在下个jsp页面取出即可
依你的意思无非是将本页面信息同时通知到另外一个页面,这个和ajax无关,因为你完全不需要客户端参与 你要做的就是用session 存贮当前信息 然后在下个jsp页面取出即可
他们给了我个html 里面有个form 我在里面添加数据然后提交他们就能得到数据了 只是我现在要向他们提交的数据比较多 有无数个冲数据库遍历出来的form 我需要一个一个的向他们提交
该问题已经关闭: 超过15天由系统自动关闭,悬赏平分给所有参与回答的会员