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