ページに Struts ファイル コントロールがあります。無効なエントリがある場合、ファイル コントロールをリセットしたいと思います。以下は、私が気づいたことです: 1) ほとんどのブラウザでは、ファイル コントロールをリセットできません。2) できることは、既存のコントロールを新しいコントロールに置き換え、元のコントロールのすべてのプロパティをコピーすることです。私は次のようにしてこれを行いました:
var newInput = document.createElement("input");
newInput.type = "file";
newInput.id = document.getElementById("myfilecontrol").id;
newInput.name = document.getElementById("myfilecontrol").name;
newInput.className = document.getElementById("myfilecontrol").className;
newInput.style.cssText = document.getElementById("myfilecontrol").style.cssText;
document.getElementById("myfilecontrol").parentNode.replaceChild(newInput, document.getElementById("myfilecontrol"));
私の問題は、これが一度しか機能しないことです。検証メソッドを呼び出すのは古いコントロールであり、新しいコントロールではありません。新しいコントロールに検証メソッドを自動的に呼び出させる方法はありますか? または、Struts ファイル コントロールをリセットする別のより良い方法はありますか? (ページの更新はオプションではありません。) よろしくお願いします。