許可されていないファイル拡張子を持つファイルを誰かがアップロードしようとすると、この input-file-element が「リセット」されます。
それがinput-file-elementです
<input type="file" id="image1">
これらは対応する jQuery ステートメント (ドキュメントの準備ができている) であり、「TypeError: myElement.clone is not a function」が表示されます (ここでこのソリューションを試している間: Clearing <input type='file' /> using jQuery )
$(document).ready(function() {
$('#image1').change(function(event) {
checkExtensions(this.files[0].name, $(this).get());
});
function checkExtensions (fileName, element) {
var myElement = element;
var allowedExtensions = new Array ('pdf','gif','jpg','png');
var currentExtension = fileName.split('.').pop();
if ($.inArray (currentExtension, allowedExtensions) > -1) {
// everythins is OK, further instructions take place
} else {
// reset the file input element
myElement.replaceWith( myElement = myElement.clone( true ) );
}
}
});