0

アプリケーションで奇妙な問題が発生しました。ユーザーがアプリケーションの更新ボタンをクリックすると、フォーム要素は無効になりますが、有効にはなりません。これは時々発生するだけで、Firefox でのみ発生します。以下は、フォーム要素を無効にするために使用される JavaScript コード スニペットです。

util.Document.setDisabledOnFormElements = function(disabled, baseElement) {
  if (util.Browser.is(util.Browser.IE)) {
    //disabled property is inherited in ie.
    baseElement.disabled = disabled;
  } else {
    var dels = util.Document.DISABLEABLE_FORM_ELEMENTS;
    var els;
    for (var h = 0, hLength = dels.length; h < hLength; h++) {
      //disabled property is not inherited, so have to set for disableable elements explicitly.
      els = baseElement.getElementsByTagName(dels[h]);
      for (var j = 0, jLength = els.length; j < jLength; j++) {
        els[j].disabled = disabled;
        els[j] = null;
      }
      els = null;
    }
    dels = null;
  }
};

この setDisabledOnFormElements 関数は for ループによって呼び出され、フォーム内のすべての要素がパラメーターとして渡されます。また、「無効」パラメータはブール オブジェクトです。要素を無効にするか有効にするかを示します。

IE と Chrome では、これは非常にうまく機能します。ただし、FF フォーム要素では、更新ボタンをクリックした後に有効になることはありません (これはブラウザーの更新ボタンではありません)。ここで問題を知っている人はいますか?

4

0 に答える 0