好像不行 但可以变相实现
可以将所有需要提交的元素 移动到form里面

解决方案 »

  1.   

    很早以前写的一个东西,
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
    <html>
    <head>
    <title> New Document </title>
    <meta name="Generator" content="EditPlus">
    <meta name="Author" content="">
    <meta name="Keywords" content="">
    <meta name="Description" content="">
    <script language="javascript">
    ///////////////////////////////////////////////////////////////////////////////////////
    //类        名:cls_formPost
    //说        明:直接使用客户端脚本生成临时的Form表单,然后提交数据;
    //作        者:CarlosYoung
    //创 建  时 间:2006-05-16
    ///////////////////////////////////////////////////////////////////////////////////////
    //公共方法说明:        
    //---------cls_formPost.setTarget--------
    //说明:设置接受提交数据的窗口
    //参数:sTagt---对象ID;默认为'_self',即自身;
    //-----------cls_formPost.add------------
    //说明:添加传递的字串
    //参数:sName---传递时的变量名.
    //     sMsg----传递的变量值。
    //----------cls_formPost.post------------
    //说明:提交数据
    //参数:sPage----处理提交数据的页面,即Form的action对应的CGI页面。
    ////////////////////////////////////////////////////////////////////////////////////////function cls_formPost(){
    //类初始化;
    this.aMsg=new Array();
    this.fname='ftmp';
    this.target='_self';
    //Create a name for the temp form
    while(document.all(this.fname))
    {this.fname=this.fname+'_tmp';}
    //document.body.insertAdjacentHTML('afterBegin','<div>DIV'+this.fname+'<form id="'+this.fname+'" name="'+this.fname+'" method="POST"></form></div>')
    document.body.insertAdjacentHTML('afterBegin','<div style="POSITION:absolute;visibility:hidden;"><form id="'+this.fname+'" name="'+this.fname+'" method="POST" action=""></form></div>')
    }

    cls_formPost.prototype.setTarget=function(sTagt){
        //
    document.all(this.fname).target=sTagt;
    }

    cls_formPost.prototype.add=function(sName,sMsg){
    if(sMsg!=null && sName!=null){
    var obj=document.getElementById(this.fname);
    obj.insertAdjacentHTML('afterBegin','<input type="hidden" name="'+sName+'" value="'+sMsg+'">')
    }
    else{
    alert('Arguments error!');
    }
    }

    cls_formPost.prototype.post=function(sPage){
    if(sPage!=null){
    var obj=document.getElementById(this.fname);
    obj.action=sPage;
    obj.submit();
    }
    else{
        alert('You must assign a page name before post!');
    }
    }
    ////////////////////////////////////////////////////////////////////////////////////////////////////
    function subit()
    {
    var fmp=new cls_formPost();
    fmp.add('a',document.all.a.value);
    /*
    可以有多个fmp.add(,); //添加要提交的数据
    .....
    */
    fmp.post('要提交到的页面');
    }
    </script>
    </head><body>
    <input id="a" value="dd">
    <button onclick="javascript:subit();">
    </body>
    </html>