没见异常,ff下也可以提交-----测试版本:FF2.0.0.4。
--------------
<html><head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>New Page 2</title>
</head><body>
<form name=a>
<input type=submit value="submit">
<table id=altbl>
<tr></tr>
</table>
</form>
</body></html>
<script>
function   doAddAnnou(){ 
        var   tb=document.getElementById('altbl'); 
        var   tbLen=tb.rows.length; 
        //var   objsel=document.getElementById('selannou'); 
        //if(objsel.options.length <=0){return;} 
        //if(tbLen> =10){return;}         
        var   r=tb.insertRow(tbLen);     //向table中添加一行 
        var   c0=r.insertCell(0);           //增加列 
        var   c1=r.insertCell(1);           //增加列 
        var   c2=r.insertCell(2);           //增加列  
        var   val="value"; 
        var   txt="text"; 
        c0.innerHTML=txt; 
        c1.innerHTML='&nbsp;' 
        c1.width=100; 
        c2.innerHTML=" <input   type='button'   value='Delete'   onclick='doDelAnnou(this);'> <input   type='hidden' name='annou_"+val+"'   value='"+val+"'> "; 

doAddAnnou();</script>

解决方案 »

  1.   

    上面的代码是可以正常显示,我指的hidden   的数据在firfox中不能提交上去是说:我submit表单后,hidden的值没有附在表单数据里边提交给服务器,但在显示是没有错误的
      

  2.   

    点一下submit按钮就可以看到,“?annou_value=value”证明已被附上
    -----测试版本:FF2.0.0.4。 
      

  3.   

    为什么我的在提交的时个没有附上,能帮我分析一下吗?那网代码是这样的:
    <html>
    <head><meta http-equiv='Content-Type' content='text/html'; charset='iso-8859-1'>
    <LINK href='/html/style.css' type=text/css rel=stylesheet>
    <title>Add an user</title></head>
    <script language='javascript'>
    function doCheckNum(obj){if(obj.value=='' || isNaN(obj.value)){alert('only numbers are acceptable and must be non-empty');obj.focus();return false;}return true;}
    function doValiDate()
    {
    }
    function doSubmit()
    {
       document.getElementById('FormPost').value = 1;
       document.getElementById('Submit').enabled = false;
       document.getElementById('MsgPrompt').innerHTML ="<font color='#ff0000' size='2'><center><b>Your changes are being saved into Flash now. This may take several seconds...</b></center></font>";
       document.forms[0].submit();
       return;
    }
    function doCancel()
    {
       window.location.href='/cgi-bin/ccgi?pageID=50&usrTablePageNo=0'
    }
    function doAddAgent(){
        var tb=document.getElementById('agentstbl');
        var objsel=document.getElementById('selagent');
        if(objsel.options.length<=0){return;}
        var tbLen=tb.rows.length;
        if(tbLen>=10){return;}    var r=tb.insertRow(tbLen);
        var c0=r.insertCell(0);
        var c1=r.insertCell(1);
        var c2=r.insertCell(2);
        var index=objsel.selectedIndex;
        var val=objsel.options[index].value;
        var txt=objsel.options[index].text;
        c0.innerHTML=txt;
        c1.innerHTML='&nbsp;'
        c1.width=100;
        c2.innerHTML="<input type='button' value='Delete' onclick='doDelAgent(this);'><input type='hidden' name='agent_"+val+"' value='"+val+"'>";
    }
    function doDelAgent(r){
        var i=r.parentNode.parentNode.rowIndex;
        document.getElementById('agentstbl').deleteRow(i);
    }
    function doDelAnnou(r){
        var i=r.parentNode.parentNode.rowIndex;
        document.getElementById('altbl').deleteRow(i);
    }
    function doAddAnnou(){
        var tb=document.getElementById('altbl');
        var tbLen=tb.rows.length;
        var objsel=document.getElementById('selannou');
        if(objsel.options.length<=0){return;}
        if(tbLen>=10){return;}    var r=tb.insertRow(tbLen);
        var c0=r.insertCell(0);
        var c1=r.insertCell(1);
        var c2=r.insertCell(2);
        var index=objsel.selectedIndex;
        var val=objsel.options[index].value;
        var txt=objsel.options[index].text;
        c0.innerHTML=txt;
        c1.innerHTML='&nbsp;'
        c1.width=100;
        c2.innerHTML="<input type='button' value='Delete' onclick='doDelAnnou(this);'><input type='hidden' name='annou_"+val+"' value='"+val+"'>";
    }
    function doUpload(){
        var objext = document.getElementById('extNo');
        if( !doCheckNum(objext) )return;
        var ext=objext.value;
        document.forms[1].action='/cgi-bin/cqgrt?ext='+ext;
        document.forms[1].disabled=true;
        document.forms[1].submit();
        return;}
     var tmr;function doTimer(){
         document.getElementById('retmsg').innerHTML='';
         self.clearTimeout(tmr);
    }
    function UploadRet(msg){
         document.getElementById('retmsg').innerHTML=msg;
         tmr=self.setTimeout('doTimer()', 3000);
    }
    </script>
    <body onload="doValiDate();">
    <table width='820'><tr><td width='2'>&nbsp;</td><td><TABLE width='100%' border='0' cellpadding='0' cellspacing='0'>
    <TR><TD class=pagetitle>Add Call Queue </td><td class='logout'> 
    <a href='/cgi-bin/ccgi?id=34&FormPost=1'>Logout</a></TD></TR>
    </table>
    <table width='100%' border='0' cellspacing='0' cellpadding='0' bgcolor='#003366'>
      <tr>    <td class='tdLine'></td>
      </tr>
    </table><br>
    <table border='0'>
    <form METHOD='GET' ACTION='/cgi-bin/ccgi'>
    <input type='hidden' name='id' value='57'>
    <tr><td class='tablecolheader'>Name</td>
    <td><input type='text' name='username' id='username' size='24' maxlength='24' value=''></tr>
    </td></tr>
    <tr><td class='tablecolheader'>Extension</td>
    <td class='tablecolvalue'><input name='extNo' id='extNo' type='text' size='24' maxlength='24' value='' >(for reference, current list of extensions<select>
    <option selected>6000</option><option >6523</option>
    <option >4785</option>
    <option >5865</option>
    <option >5986</option>
    <option >6990</option>
    <option >6991</option>
    </select>)</td></tr>
    <tr><td class='tablecolheader'>Priority</td>
    <td><select name='Priority'><option value ='1' >1</option>
    <option value ='2' >2</option>
    <option value ='3' >3</option>
    <option value ='4' >4</option>
    <option value ='5' >5</option>
    <option value ='6' >6</option>
    <option value ='7' >7</option>
    <option value ='8' >8</option>
    <option value ='9' >9</option></sekected></td></tr>
    <tr><td class='tablecolheader'>Queue Status Update Frequency</td><td><select name='qst' id='qst'>
    <option value='45' >45</option>
    <option value='60' >60</option>
    <option value='75' >75</option>
    <option value='90' >90</option>
    </select>seconds</td></tr>
    <tr><td class='tablecolheader'>Other Announcements</td><td>Play the following in-queue announcements at an interval of<select name='at' id='at'>
    <option value='45' >45</option><option value='60' >60</option>
    <option value='75' >75</option>
    <option value='90' >90</option>
    </select>seconds</td></tr>
    <tr><td>&nbsp;</td><td><table name='altbl' id='altbl'>
    </table></td></tr>
    <tr><td>&nbsp;</td><td><table><tr><td><select id='selannou' id='selannou'><option value=hhhhh>hhhhh</option>
    <option value=jjjj>jjjj</option>
    </select></td><td width='100'>&nbsp;</td><td><input type='button' id='btAddAnnou' value='Add' onclick='doAddAnnou();'></td></tr></table></td></tr><tr><td class='tablecolheader'>Maximum Caller Wait Time</td><td><input type=text name='mcwt' id='mcwt' size='5' maxlength='5' value='0'>seconds(default is 0, unlimited)</td></tr><tr><td class='tablecolheader'>Minimum Caller Wait Time</td><td><input type=text name='mincwt' id='mincwt' size='5' maxlength='5' value='0'>seconds(default is 0, unlimited)</td></tr>
    <tr><td class='tablecolheader'>Maximum Queued Callers</td><td><select name='mqc' id='mqc'>
    <option value='3' >3</option>
    <option value='5' >5</option>
    <option value='7' >7</option>
    <option value='10' >10</option>
    <option value='15' >15</option>
    </selected></td></tr>
    <tr><td class='tablecolheader'>Group Email address for voicemail delivery</td><td><input type=text name='email' id='email' size='24' maxlength='64' value=''></td></tr><tr><td class='tablecolheader'>Agent Call Wrap-up Time</td><td><select name='awut' id='awut'>
    <option value='15' >15</option>
    <option value='20' >20</option>
    <option value='25' >25</option>
    <option value='30' >30</option>
    <option value='35' >35</option>
    <option value='40' >40</option>
    <option value='45' >45</option>
    <option value='50' >50</option><option value='60' >60</option>
    <option value='90' >90</option>
    </select>seconds</td></tr>
    <tr><td class='tablecolheader'>Listed Agents For This Queue</td><td>&nbsp;</td></tr>
    <tr><td>&nbsp;</td><td><table name='agentstbl' id='agentstbl'></table></td></tr>
    <tr><td>&nbsp;</td><td><table><tr><td><select id='selagent' id='selagent'><option value=5>4785</option>
    <option value=4>5865</option>
    </select></td><td width='100'>&nbsp;</td><td><input type='button' id='btAddAgent' value='Add' onclick='doAddAgent();'></td></tr></table></td></tr>
    <tr><td class='tablecolheader'>Automatic Call Distribution</td><td>&nbsp;</td></tr>
    <tr><td>&nbsp;</td><td>Skill-base Routing</td></tr>
      

  4.   

    为什么我的在提交的时个没有附上,能帮我分析一下吗?那网代码是这样的:
    <html>
    <head><meta http-equiv='Content-Type' content='text/html'; charset='iso-8859-1'>
    <LINK href='/html/style.css' type=text/css rel=stylesheet>
    <title>Add an user</title></head>
    <script language='javascript'>
    function doCheckNum(obj){if(obj.value=='' || isNaN(obj.value)){alert('only numbers are acceptable and must be non-empty');obj.focus();return false;}return true;}
    function doValiDate()
    {
    }
    function doSubmit()
    {
       document.getElementById('FormPost').value = 1;
       document.getElementById('Submit').enabled = false;
       document.getElementById('MsgPrompt').innerHTML ="<font color='#ff0000' size='2'><center><b>Your changes are being saved into Flash now. This may take several seconds...</b></center></font>";
       document.forms[0].submit();
       return;
    }
    function doCancel()
    {
       window.location.href='/cgi-bin/ccgi?pageID=50&usrTablePageNo=0'
    }
    function doAddAgent(){
        var tb=document.getElementById('agentstbl');
        var objsel=document.getElementById('selagent');
        if(objsel.options.length<=0){return;}
        var tbLen=tb.rows.length;
        if(tbLen>=10){return;}    var r=tb.insertRow(tbLen);
        var c0=r.insertCell(0);
        var c1=r.insertCell(1);
        var c2=r.insertCell(2);
        var index=objsel.selectedIndex;
        var val=objsel.options[index].value;
        var txt=objsel.options[index].text;
        c0.innerHTML=txt;
        c1.innerHTML='&nbsp;'
        c1.width=100;
        c2.innerHTML="<input type='button' value='Delete' onclick='doDelAgent(this);'><input type='hidden' name='agent_"+val+"' value='"+val+"'>";
    }
    function doDelAgent(r){
        var i=r.parentNode.parentNode.rowIndex;
        document.getElementById('agentstbl').deleteRow(i);
    }
    function doDelAnnou(r){
        var i=r.parentNode.parentNode.rowIndex;
        document.getElementById('altbl').deleteRow(i);
    }
    function doAddAnnou(){
        var tb=document.getElementById('altbl');
        var tbLen=tb.rows.length;
        var objsel=document.getElementById('selannou');
        if(objsel.options.length<=0){return;}
        if(tbLen>=10){return;}    var r=tb.insertRow(tbLen);
        var c0=r.insertCell(0);
        var c1=r.insertCell(1);
        var c2=r.insertCell(2);
        var index=objsel.selectedIndex;
        var val=objsel.options[index].value;
        var txt=objsel.options[index].text;
        c0.innerHTML=txt;
        c1.innerHTML='&nbsp;'
        c1.width=100;
        c2.innerHTML="<input type='button' value='Delete' onclick='doDelAnnou(this);'><input type='hidden' name='annou_"+val+"' value='"+val+"'>";
    }
    function doUpload(){
        var objext = document.getElementById('extNo');
        if( !doCheckNum(objext) )return;
        var ext=objext.value;
        document.forms[1].action='/cgi-bin/cqgrt?ext='+ext;
        document.forms[1].disabled=true;
        document.forms[1].submit();
        return;}
     var tmr;function doTimer(){
         document.getElementById('retmsg').innerHTML='';
         self.clearTimeout(tmr);
    }
    function UploadRet(msg){
         document.getElementById('retmsg').innerHTML=msg;
         tmr=self.setTimeout('doTimer()', 3000);
    }
    </script>
    <body onload="doValiDate();">
    <table width='820'><tr><td width='2'>&nbsp;</td><td><TABLE width='100%' border='0' cellpadding='0' cellspacing='0'>
    <TR><TD class=pagetitle>Add Call Queue </td><td class='logout'> 
    <a href='/cgi-bin/ccgi?id=34&FormPost=1'>Logout</a></TD></TR>
    </table>
    <table width='100%' border='0' cellspacing='0' cellpadding='0' bgcolor='#003366'>
      <tr>    <td class='tdLine'></td>
      </tr>
    </table><br>
    <table border='0'>
    <form METHOD='GET' ACTION='/cgi-bin/ccgi'>
    <input type='hidden' name='id' value='57'>
    <tr><td class='tablecolheader'>Name</td>
    <td><input type='text' name='username' id='username' size='24' maxlength='24' value=''></tr>
    </td></tr>
    <tr><td class='tablecolheader'>Extension</td>
    <td class='tablecolvalue'><input name='extNo' id='extNo' type='text' size='24' maxlength='24' value='' >(for reference, current list of extensions<select>
    <option selected>6000</option><option >6523</option>
    <option >4785</option>
    <option >5865</option>
    <option >5986</option>
    <option >6990</option>
    <option >6991</option>
    </select>)</td></tr>
    <tr><td class='tablecolheader'>Priority</td>
    <td><select name='Priority'><option value ='1' >1</option>
    <option value ='2' >2</option>
    <option value ='3' >3</option>
    <option value ='4' >4</option>
    <option value ='5' >5</option>
    <option value ='6' >6</option>
    <option value ='7' >7</option>
    <option value ='8' >8</option>
    <option value ='9' >9</option></sekected></td></tr>
    <tr><td class='tablecolheader'>Queue Status Update Frequency</td><td><select name='qst' id='qst'>
    <option value='45' >45</option>
    <option value='60' >60</option>
    <option value='75' >75</option>
    <option value='90' >90</option>
    </select>seconds</td></tr>
    <tr><td class='tablecolheader'>Other Announcements</td><td>Play the following in-queue announcements at an interval of<select name='at' id='at'>
    <option value='45' >45</option><option value='60' >60</option>
    <option value='75' >75</option>
    <option value='90' >90</option>
    </select>seconds</td></tr>
    <tr><td>&nbsp;</td><td><table name='altbl' id='altbl'>
    </table></td></tr>
    <tr><td>&nbsp;</td><td><table><tr><td><select id='selannou' id='selannou'><option value=hhhhh>hhhhh</option>
    <option value=jjjj>jjjj</option>
    </select></td><td width='100'>&nbsp;</td><td><input type='button' id='btAddAnnou' value='Add' onclick='doAddAnnou();'></td></tr></table></td></tr><tr><td class='tablecolheader'>Maximum Caller Wait Time</td><td><input type=text name='mcwt' id='mcwt' size='5' maxlength='5' value='0'>seconds(default is 0, unlimited)</td></tr><tr><td class='tablecolheader'>Minimum Caller Wait Time</td><td><input type=text name='mincwt' id='mincwt' size='5' maxlength='5' value='0'>seconds(default is 0, unlimited)</td></tr>
    <tr><td class='tablecolheader'>Maximum Queued Callers</td><td><select name='mqc' id='mqc'>
    <option value='3' >3</option>
    <option value='5' >5</option>
    <option value='7' >7</option>
    <option value='10' >10</option>
    <option value='15' >15</option>
    </selected></td></tr>
    <tr><td class='tablecolheader'>Group Email address for voicemail delivery</td><td><input type=text name='email' id='email' size='24' maxlength='64' value=''></td></tr><tr><td class='tablecolheader'>Agent Call Wrap-up Time</td><td><select name='awut' id='awut'>
    <option value='15' >15</option>
    <option value='20' >20</option>
    <option value='25' >25</option>
    <option value='30' >30</option>
    <option value='35' >35</option>
    <option value='40' >40</option>
    <option value='45' >45</option>
    <option value='50' >50</option><option value='60' >60</option>
    <option value='90' >90</option>
    </select>seconds</td></tr>
    <tr><td class='tablecolheader'>Listed Agents For This Queue</td><td>&nbsp;</td></tr>
    <tr><td>&nbsp;</td><td><table name='agentstbl' id='agentstbl'></table></td></tr>
    <tr><td>&nbsp;</td><td><table><tr><td><select id='selagent' id='selagent'><option value=5>4785</option>
    <option value=4>5865</option>
    </select></td><td width='100'>&nbsp;</td><td><input type='button' id='btAddAgent' value='Add' onclick='doAddAgent();'></td></tr></table></td></tr>
    <tr><td class='tablecolheader'>Automatic Call Distribution</td><td>&nbsp;</td></tr>
    <tr><td>&nbsp;</td><td>Skill-base Routing</td></tr>
      

  5.   

    <tr><td>&nbsp;</td><td><input type='radio' name='skr' id='nsr' value='0' checked>No skill-based Routing</td></tr>
    <tr><td>&nbsp;</td><td><input type='radio' name='skr' id='lsf' value='1' >Least-skilled First</td></tr>
    <tr><td>&nbsp;</td><td><input type='radio' name='skr' id='msf' value='2' >Most-skilled First</td></tr>
    <tr><td class='tablecolheader'>Ring Mode To Agents of Same Skill Level</td><td>Ring mode among same-skill agents and with no skill-based routing</td></tr>
    <tr><td>&nbsp;</td><td><input type='radio' name='cqrm' id='cqrm_p' value='0' checked>Parallel</td></tr>
    <tr><td>&nbsp;</td><td><input type='radio' name='cqrm' id='cqrm_s' value='1' >Serial</td></tr>
    <tr><td>&nbsp;</td><td><input type='radio' name='cqrm' id='cqrm_c' value='2' >Circular</td></tr>
    <tr><td>&nbsp;</td><td><input type='radio' name='cqrm' id='cqrm_l' value='3' >Least Busy</td></tr><input type='hidden' name='userNo' ID='userNo' value='65535'>
    <input type='hidden' name='FormPost' ID='FormPost' value=''>
    </form>
    </td></tr></table>
    <table border='0'>
    <form name='ul' id='ul' METHOD='POST' ACTION='/cgi-bin/cqgrt' enctype='multipart/form-data' target='hidden_frame'>
    <tr><td class='tablecolheader'>Call Queue Greeting Message</td><td><table><tr><td><input type=file name ='fl' id='fl'><td>&nbsp;</td><td><input class='button' type='button' value='Upload' id='Upload' onclick='doUpload();'></td></tr>
    </table></td></tr>
    <tr><td>&nbsp;</td><td>Please upload a audio file in the following format:wav file/sample rate 8K/sample data 16bit/single channel</td></tr>
    <iframe name='hidden_frame' id='hidden_frame' style='display:none'></iframe>
    </form>
    <tr><td colspan='2'><span id='retmsg' ></span></td></tr>
    </table>
    <table border='0'>
    <tr><td colspan='2'>&nbsp;</td></tr><tr><td class='actionbuttons'>
    <input class='ButtonText' type='button' value='Submit' id='Submit' onclick='doSubmit();'></td>
    <td><input class='ButtonText' type='button' value='Cancel' id='Cancel' onclick='doCancel();'>
    </td></tr>
    <tr><td colspan='2' id='MsgPrompt' name='MsgPrompt'></td></tr>
    </table>
    </td></tr></table>
    </body></html>
      

  6.   

    <form>标签不要夹在<table>与<tr>之间
    IE有这样的容错功能,
    FF就不一样:
    <html> 
    <head> <meta   http-equiv='Content-Type'   content='text/html';   charset='iso-8859-1'> 
    <body  > 
    <table   width='820'>
    <form>
    <tr><td width='2'>test<input></td></tr> 
    </form>
    </table> 
    </body> </html> 
    <script>
    alert(document.getElementsByTagName("form")[0].innerHTML);
    </script>