2016-10-10 11 views
1

ファイルを選択せず​​にブラウザのファイルアップロードウィザードが閉じられているかどうかを確認する必要があります。識別は、ウィザードを閉じた直後に行う必要があり、識別はJavaScriptで行うことができなければなりません。ユーザーがアップロードのためにファイル選択ウィザードを閉じるときに発生するイベントはありますか? JQueryも使用できます。私はいくつかのイベントを使用しましたが、ウィザードを閉じた直後に誰も解雇しませんでした。ユーザーを選択したファイルとは(散発的にウィザードの終了後に火災ONCHANGE。しかし、私は信頼性の高いイベントを必要とする)、アップロードのために開かれた場合にのみ、火災のonchangeファイルを選択せず​​にユーザーによって閉じられたhtmlファイルアップロードウィザードを特定する方法

ここ

<input type="file" id="fileTaker" 
 
       oncancel="cancelledFile()" 
 
       onabort="abortedFile()" 
 
       onclose="closedFile()" 
 
       onclick="clickedFile()" 
 
       onchange="changedFile()" 
 
       onblur="bluredFile()" 
 
       onemptied="emptiedFile()" 
 
       onformchange="formChanged()" 
 
       onsuspend="suspendFile()" 
 
       />

。 onclickとonblurはウィザードを開くと起動します。他の人は解雇されません。 ありがとうございます。

+0

に等しいかどうかを確認? –

+0

@Rick、ユーザーがファイルを選択していない場合、innerHTMLは変更されません。 – Gurusinghe

+0

ブラウザのサポートはありません。 – Gurusinghe

答えて

2

あなたは<input type="file">要素でchangeblurイベント、windowfocusイベントを利用することができます。 <input type="file">要素.filesプロパティ.lengthは、たぶん、あなたが入力フィールドのinnerHTMLプロパティが変更されたかどうかを確認しようとすることができます0

<script> 
 
    function changedFile(el, fromfocus) { 
 
    // remove `fromfocus` to set condition 
 
    // to `true` for both `onchange` event 
 
    // and direct call to `changedFile` 
 
    // from within `window.onfocus` handler 
 
    if (el.files.length === 0 && fromfocus) { 
 
     console.log(el.files.length); 
 
    } 
 
    } 
 
    
 
    function handleBlur(el) { 
 
    window.onfocus = function() { 
 
     this.onfocus = null; 
 
     // pass `true` to prevent `if` statement 
 
     // being `true` for both `onchange` event 
 
     // and direct call to `changedFile` here 
 
     changedFile(el, true); 
 
    } 
 
    } 
 
</script> 
 
<input type="file" id="fileTaker" 
 
     onchange="changedFile(this)" 
 
     onblur="handleBlur(this)" />

+0

かもしれません。ウィザードの終了を特定する正確なイベントはないと考えられます。 – Gurusinghe

関連する問題