0

IEのフォームにonsubmit属性を追加するスクリプトを取得するのに問題があります。ただし、Chromeでは正常に動作します。

document.getElementsByName('form_name').item(0).setAttribute("onsubmit","add_to_form()");

要素をうまくつかんでいて、getAttribute既存の属性をうまく印刷するために使用できます。

4

2 に答える 2

2

これを書き直しましょう:

function listen(event, elem, func) { // cross-browser event listener
  if (elem.addEventListener) elem.addEventListener(event, func, false);
  else if (elem.attachEvent) elem.attachEvent('on' + event, func); // IE
}

listen('load', window, function() {
  var form = document.getElementsByName('form_name')[0];
  listen('submit', form, add_to_form);
});
于 2012-07-16T20:53:22.853 に答える
2

Standards Mode ではコードが正常に動作するように見えるため、ドキュメントはおそらく IE を Quirks Mode にします。

onsubmitコードを互換モードでも機能させるには、HTML 属性ではなくDOM プロパティに割り当てることができます。この 2 つは、古いバージョンと IE の Quirks モードでは必ずしも対応していません。あなたの例では、代わりにこれを使用してください:

document.getElementsByName('form_name').item(0).onsubmit = add_to_form;
于 2012-07-16T21:06:14.430 に答える