簡體   English   中英

如何檢查輸入類型=“文件”是否選擇了文件?

[英]How to check an input type=“file” has a file selected?

我正在使用VS2012(MetroApp)開發一個帶有HTML,JavaScript和CSS3的應用程序

在我的文件上添加文件后,我需要觸發啟用或禁用按鈕的驗證

<input type="file"/>

到目前為止我有這個:

HTML:default.html:

<!DOCTYPE html>
<html>
<head>
    <title>myApp</title>
    <link href="/css/default.css" rel="stylesheet" />
    <script src="/js/default.js"></script>
</head>
<body>
        <div id="content">
        <h1>myApp</h1>

        <br /><br />
        <button id="imageCaptureButton">Take Picture</button>
        <input type="file" id="uploadCaptureInputFile"/><br />
        <button id="uploadCaptureButton">Subir Foto</button>
        <br /><br />

        <div id="result"></div>
    </div>
</body>
</html>

JavaScript:default.js

function getDomElements() {
    _uploadCaptureButton    = document.querySelector("#uploadCaptureButton");
    _uploadCaptureInputFile = document.querySelector("#uploadCaptureInputFile");        
}

function wireEventHandlers() {
    _uploadCaptureInputFile.addEventListener("onchange", verifyControls, false);
}


app.onloaded = function () {
    getDomElements();
    wireEventHandlers();

    _uploadCaptureButton.disabled = true;
}


function verifyControls() {
    if ( _uploadCaptureInputFile != "") {
        _uploadCaptureButton.disabled = false;
    }
    else {
        _uploadCaptureButton.disabled = true;
    }
}

但我似乎無法使其發揮作用

_uploadCaptureInputFile.addEventListener("onchange", verifyControls, false);

它不服從,是否有辦法將此事件分配給我的inputType以觸發此類驗證?

提前致謝

在使用addEventListener偵聽時,您將偵聽僅僅是"change"而不是"onchange"更改事件。 "onchange"永遠不會觸發,因為從未觸發匹配事件(除非您自己創建自定義事件)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM