Javascript 我有一个下面的代码-在IE和Opera中非常有效,但在Firefox/Netscape中根本不起作用。有什么想法吗?

Javascript 我有一个下面的代码-在IE和Opera中非常有效,但在Firefox/Netscape中根本不起作用。有什么想法吗?,javascript,html,Javascript,Html,我必须在下面编写代码-在IE和Opera中效果很好,但不起作用 在Firefox/Netscape中。有什么想法吗 问题是,单击“打印机友好”时不会发生任何事情 <html> <head> <script type="text/javascript"> function onPrint() { window.printForm.submit(); } </script> </head> <b

我必须在下面编写代码-在IE和Opera中效果很好,但不起作用 在Firefox/Netscape中。有什么想法吗

问题是,单击“打印机友好”时不会发生任何事情

<html>
<head>
  <script type="text/javascript">
    function onPrint()
    {
    window.printForm.submit();
    }
  </script>
</head>
<body>
  <form name="printForm" action="/xasp?print=on" method="post">
    <table>
      <tr>
        <td><input type="checkbox" name="show" onClick="formSubmit();"></td>
      </tr>
    </table>
  </form>
</body>
</html>

函数onPrint()
{
window.printForm.submit();
}

我认为您应该使用document.printForm而不是window.printForm。在表单标签中写上“action”而不是“action”。

我认为您应该使用document.printForm而不是window.printForm。在表单标签中写上“action”而不是“action”。

您必须根据id而不是名称获取表单

document.getElementById("printForm").submit();

您必须按id而不是名称获取表单

document.getElementById("printForm").submit();

“行动”,那是什么?;)这是一个post输入错误,还是您在代码中拼写错误了操作?



“行动”,那是什么?;)这是一个post输入错误,还是您在代码中拼写错误了操作?

我认为您需要类似以下内容:

document.getElementById("printForm").submit();

直接从窗口对象引用表单不是标准的,当然也不是所有浏览器都支持它。

我认为您需要以下内容:

document.getElementById("printForm").submit();

直接从窗口对象引用表单不是标准的,当然也不支持所有浏览器。

Uh,你不应该在开始使用身体之前闭上你的头吗?Uh,你不应该在开始你的身体之前闭上你的头吗?@HollyStyles:W3学校不是一个了解标准的好地方。@mck89:它们不是相互排斥的选择。document.forms.printForm可以。但是很多重要的javascript框架都使用非标准方法,所以你不会使用它们,因为它们是非标准的?“我不这么认为,我认为如果它们起作用的话,(对我来说)就是标准的了。”@mck89:我知道你的意思。但我会一直维护文档。如果不使用框架,GetElementById(“id”)是最好的。我应该说的是:“不是一个好标准”我的错。@HollyStyles:W3学校不是一个了解标准的好地方。@mck89:它们不是相互排斥的选择。document.forms.printForm可以。但是很多重要的javascript框架都使用非标准方法,所以你不会使用它们,因为它们是非标准的?“我不这么认为,我认为如果它们起作用的话,(对我来说)就是标准的了。”@mck89:我知道你的意思。但我会一直维护文档。如果不使用框架,GetElementById(“id”)是最好的。我应该说的是:“不是一个好标准”我的错。我从OP的帖子中恢复了原来的表单名称。正如x2所指出的,您仍然需要更新表单以包含ID。或者,您可以只保留名称,并通过以下方式访问它:window.forms['printForm'].submit();我从OP的帖子中恢复了原来的表单名称。正如x2所指出的,您仍然需要更新表单以包含ID。或者,您可以只保留名称,并通过以下方式访问它:window.forms['printForm'].submit();