我試圖創建一個調用「文件」類型輸入事件的按鈕,以便輸入本身不顯示,並且我可以按照this後的樣式設置按鈕的樣式。形式看起來像這樣:「.click();」觸發器「onchange」
<form action="imageUpload.php" method="post" enctype="multipart/form-data" >
<input type="file" id="selectedImage" style="display: none;" onchange="this.form.submit()" />
<button onclick="document.getElementById('selectedImage').click();" />
</form>
當我點擊該按鈕,fileselect對話彈出,但文件被採摘前的「imageUpload.php」已經被調用。但是,當我通過刪除按鈕並顯示輸入本身來取出中間人時,它按預期工作:在選擇文件後調用「imageUpload.php」。
我假設「.click();」函數觸發「onchange」,即使值沒有改變。它是否正確?有沒有辦法在不立即調用onchange的情況下從另一個按鈕觸發文件選擇對話框?或者有沒有辦法來檢查文件是否在onchange中被選中?
在此先感謝。
使用按鍵的按鍵式按鈕時,是在表單中。無類型按鈕的默認操作是提交表單。還要注意,'button'不是自閉的,結束標籤是強制性的。 – Teemu
這裏是https://jsfiddle.net/0423vd6f/ – RohitS