Javascript 如何让fireEvent方法在IE8中工作?

Javascript 如何让fireEvent方法在IE8中工作?,javascript,Javascript,我正在尝试使用IEs fireEvent方法提交表单。下面是一些简单的测试代码: <html> <head> <script type="text/javascript"> function fireSubmit () { if (document.createEventObject) { var event = document.createEventObject (); var fired = document.fo

我正在尝试使用IEs fireEvent方法提交表单。下面是一些简单的测试代码:

<html>
<head>
  <script type="text/javascript">
    function fireSubmit () {
  if (document.createEventObject) {
        var event = document.createEventObject ();
    var fired = document.forms['fireForm'].fireEvent("onsubmit", event);
    alert("event fired: " + fired + "; event returnValue: " + event.returnValue);
      }
    }
  </script>
</head>
<body>
  <button onmouseover="fireSubmit();">
      Hover to submit
  </button>

  <form name="fireForm" action="action.html" method="post">
<input type="submit" name="submit" value="submit">
  </form>

</body>
</html>

请注意,手动触发事件不会生成与该事件关联的默认操作。例如,手动触发焦点事件不会导致元素接收焦点(必须使用其焦点方法),手动触发提交事件不会提交表单(使用提交方法),手动触发键事件不会导致该字母出现在焦点文本输入中,手动触发链接上的点击事件不会导致链接被激活,等等

fireEvent方法不会提交您的表单;它将触发附加到该事件的任何事件处理程序。表单的提交方法将提交表单

这就是你想做的吗

function fireSubmit () {
    var fired = document.forms['fireForm'].submit();
    alert("event fired: " + fired + "; event returnValue: " + event.returnValue);
}

谢谢你的回答。但事实并非如此。首先,submit()方法实际上并没有返回要激发的值,其次,我不确定在您的示例中event.returnValue是如何分配的。我在问题中添加了一个非IE工作示例。
    if (document.createEvent) {
        var event = document.createEvent("HTMLEvents");
        event.initEvent("submit", false, false);
        var returnValue = document.forms['fireForm'].dispatchEvent(event);          

        alert("event returnValue: " + returnValue);

    }
function fireSubmit () {
    var fired = document.forms['fireForm'].submit();
    alert("event fired: " + fired + "; event returnValue: " + event.returnValue);
}