JSFiddle - React, Tailwind, and code Playground
HTML
<input type="file" id="inputfile" value="Upload script..." class="Button"/>
<textarea id="Form_Script" name="Script" class="monospaced" rows="6" cols="100"></textarea>
JavaScript
var control = document.getElementById("inputfile");
control.addEventListener("change", function(event){
var reader = new FileReader();
var re = /(?:\.([^.]+))?$/;
reader.onload = function(event){
document.getElementById('Form_Script').value = event.target.result;
};
reader.onerror = function(event){
var onerrorErrMsg = "File could not be read! Code " + event.target.error.code;
console.error(onerrorErrMsg);
document.getElementById('Form_Script').value = onerrorErrMsg;
};
console.log("Filename: " + control.files[0].name);
var ext = re.exec(control.files[0].name)[1]; // The file extension
if (ext == "rb" || ext == "py" || ext == "lym" || ext == "lydrc" || ext == "txt" || ext == "xml") {
reader.readAsText(control.files[0]);
} else {
var extErrMsg = new Blob(['File is not one of the following extensions: rb, py, lym, lydrc, txt, xml. Try again.']);
reader.readAsText(extErrMsg); // If I read the error message in here, it gets echoed into the textarea. Maybe in future a popup error message is preferred.
}
}, false);