<script language="javascript">
function goto1(){
document.form1.action="1.html";
document.form1.target="_blank";
document.form1.submit();
}function goto2(){
document.form1.action="err.html";
document.form1.target="_blank";
document.form1.submit();
}</script>
<form name="form1" method="post" action="">
  <table width="100%" border="0" cellspacing="0" cellpadding="10">
    <tr>
      <td>
<input type="submit" name="Submit" value="打印1 " onclick="goto1()"/>
 
<input type="submit" name="Submit3" value="打印2" onclick="goto2()">
</td>
    </tr>
  </table>
</form>

解决方案 »

  1.   

    type="submit"
    改成
    type="button"submit会自动提交的,LZ又手动提交一次,所以就打开2个了
      

  2.   

    我同意楼上所说。type="submit" 指 点下按钮,立刻提交数据,省掉您写的“document.form1.submit();”如果要动态改变一些参数,我看还是把按钮的type改成button.如:<input type="button" name="printButton1" value="打印1 " onclick="goto1()"/>
      

  3.   


    //document.form1.target="_blank";
    //这句注释掉就可以了
      

  4.   

     type="submit" 改成type="button"楼上有提到_blank,关键不是这个问题
    楼主想要的效果就是新开一个窗口问题的根源在于onclick里面打开了一个窗口
    然后由于这个input是submit类型,点击后会触发submit事件,因为刚才的onclick事件里面给form设置了action,target属性
    于是就根据刚才设置的属性又一次打开窗口了