1
カスタムファイルアップロードアプリケーションで作業しています。私は2つの大きな問題があります:IEとMozillaではJavascript DOMマウスイベントが機能しません
- 次のコードは、MozillaとIEのファイルダイアログボックスを開くのではありません。
- Chromeでは動作しますが、[ファイルを最初にクリック]を選択すると、ファイルが本体に追加されることはありません。しかし、2度目のクリックでは、最初のクリックでブラウズされたファイルが本文に追加されます。
上記の問題については、お手数ですが、
function perform1Click(node) { alert("INIT"); var evt = document.createEvent("MouseEvents"); evt.initEvent("click", true, false); node.dispatchEvent(evt); alert(3) getFile(evt); } function getFile(event) { var files = event.target.files; var totalSize = 0; if (totalSize > 1024*10) { alert('Total size exceed 1 Mb.'); return; } //alert(files) //alert(files.length); for (var i = 0, f; f = files[i]; i++) { displayFileList(f.name, f.size); totalSize = totalSize+f.size; } } function displayFileList(name, size) { if (name != '') { var top_plugin = document.getElementById('top_plugin'); // create tag var ptag = document.createElement("p"); // create div var divBox = document.createElement("div"); divBox.setAttribute('class', 'divBox'); // create input[type='checkbox'] var inputCheckBox = document.createElement("input"); inputCheckBox.setAttribute('type', 'checkbox'); inputCheckBox.setAttribute('id', 'checkboxClass') // add checkbox to div. divBox.appendChild(inputCheckBox); // create text node for divBox and add it to divBox. var txtNode = document.createTextNode(name); divBox.appendChild(txtNode) var sizeDivBox = document.createElement("p"); sizeDivBox.setAttribute('style', 'clear:both; display: inline-block;'); var txtSizeNode = document.createTextNode(size); sizeDivBox.appendChild(txtSizeNode); divBox.appendChild(sizeDivBox); // add divBox to ptag. ptag.appendChild(divBox); //ptag.appendChild(divTxt); // add ptag to top_plugin div. top_plugin.appendChild(ptag); } // if file value is not null, make it blank. if (name != '') { name = ''; } }