ローカルファイルのアップロードで、ファイル指定後のchangeイベント発火処理時、ボタンのsubmitのclickイベントが発火したらrun関数の中を実行させたいです。。
submitクリック後、run関数の変数のobjが変でうまくアップロードできません。
どなたかご存じでしょうか?
html
<form><input name="file" id="uploadfile" type="file" /></form> <div id="progress"></div> <div><button type="submit" id="teisyutsu_id" style="margin-top:30px;">提出する</button></div>
javascript
document.getElementById("teisyutsu_id").addEventListener("click",submitForm,false); function submitForm(e) { document.getElementById("progress").innerText = "Start"; } document.getElementById("uploadfile").addEventListener("change", run, false); // document.querySelector('form').addEventListener('submit', run); function run(obj) { if (document.getElementById('progress').innerText == 'Start') { google.script.run .withSuccessHandler((accessToken) => ResumableUploadForGoogleDrive(accessToken, obj) ) .getAuth(); } }
ファイルのアップロードは最低限methodとenctypeの指定が必要です
submitをformに含めない場合はform属性が必要です
change イベントと click イベントが同時に発火することはあり得ません。欲しい動作はどんなものなんでしょうか?
アップロードファイルを指定(changeイベント発火)後、ボタンクリックした後に、正式にファイルのアップロード処理(run関数)を実行させたいです。現状は、changeイベント発火後すぐにrun関数が実行されます。
回答しましたがchangeイベントで何かをする必要はなくrequiredだけつけておけば
changeされないかぎりファイルは空なのでサブミットしてもエラーになってくれます
まだ回答がついていません
会員登録して回答してみよう