比如有个表单myform,他有两个参数,<input type='text' name='user'><input type='text' name='pwd'>他的action是:a.jsp,我想通过js提交该怎样实现?
还有如果我提交到了a.jsp页面,我想用js获取它的user和pwd的参数值,又该如何实现?请高手指教!

解决方案 »

  1.   


    <form action='a.jsp' method='get'>
    <input type="text" name="account">
    <input type="password" name="password">
    <input type="submit" value="提交">
    </form>你只能在a.jsp中用request 对象
    request.getParameter("account");
    request.getParameter("password");
    获得value而不能通过js获取。
      

  2.   

    你是否用到了Struts?
    如果用到了就可以通过设置html:form  的 styleId 来获取值
    Struts 的<html:form> 标签比较特殊要取得他的节点,需要用styleId来定义. 
    例子如下: 
    <html:form action="/yourAction.do" styleId="deleteForm" method="post" > document.getElementById("deleteForm")来取得! 你先试下,这里的 deleteForm 是Struts的FormBean,当你提交到这个Action时,值会自动填入FormBean中
      

  3.   

    如果需要将本页的数据提交给a.jsp,除了一楼所说正常的提交外,还可以用javascript/ajax 无刷新的方式提交,示例代码如下:    <script type="text/javascript" language="javascript">
        
           var xmlHttp;
           function sendRequest()
           {
               var oForm=document.forms[0];
               var sSend="id="+oForm.txtCustomerId.value;
               xmlHttp=new ActiveXObject("Microsoft.XMLHttp");
               xmlHttp.open("post",oForm.action,true);
               xmlHttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
               
               xmlHttp.onreadystatechange=function()
               {
                    
                   if(xmlHttp.readyState == 4){                      if(xmlHttp.status == 200){                             document.getElementById("results").innerHTML = xmlHttp.responseText;
                           }
                           else {
                                 document.getElementById("results").innerHTML = "error occured";
                           }
                     }
               
               
               }
               xmlHttp.send(sSend);
           
           }
        
        </script>
    </head>
    <body>
    <form method="post" action="GetCustomerData.jsp" onsubmit="sendRequest();return false"><input type="text" id="txtCustomerId" name="txtCustomerId"/>
    <input type="submit" value="Get Customer Info"/></form>
    <div id="results">
     
    </div>
    服务器端处理不变,仍用request.getParameter("xxx")服务器不能用javascript获取提交上来的数据。
      

  4.   

    在服务器你获取到提交上来的数据后,仍可以用javascript弹出消息框等显示,如:string name= request.getParameter("name")out.println("script type="text/javascript");
    out.println("alert("+name+")");
    out.println("</script>");当然你用servlet处理也是一样的,只不过要分清是post/get,分别运行 doPost/doGet处理
      

  5.   

    <script>
       function subClick()
       {
         //处理代码
         document.form1.action="提交的路径"
         document.form1.submit();
       }
    </script>
    <form name="form1>
     <input type="text" name="f1"><input type="button" value="提交" onclick="subClick">
    </form>