Disable firmware upgrade if no file is selected

This commit is contained in:
Magnus Persson 2022-04-09 08:56:59 +02:00
parent ca97a586c1
commit 430f01943a
2 changed files with 24 additions and 2 deletions

View File

@ -85,7 +85,7 @@
--> -->
<form id="uploadForm" enctype="multipart/form-data"> <form id="uploadForm" enctype="multipart/form-data">
<div class="col-md-8 custom-file"> <div class="col-md-8 custom-file">
<input type="file" accept=".bin" class="custom-file-input" name="name" id="name"> <input type="file" accept=".bin" class="custom-file-input" name="name" id="name" onchange="checkName()">
<label class="custom-file-label" for="name">Choose file</label> <label class="custom-file-label" for="name">Choose file</label>
</div> </div>
<button type="submit" class="btn btn-primary" id="upload-btn" value="upload">Flash firmware</button> <button type="submit" class="btn btn-primary" id="upload-btn" value="upload">Flash firmware</button>
@ -137,6 +137,10 @@
}); });
}); });
function checkName() {
setButtonDisabled( $("#name").val()!="" ? false : true );
}
function progressHandler(event) { function progressHandler(event) {
var percent = (event.loaded / event.total) * 100; var percent = (event.loaded / event.total) * 100;
setProgress(Math.round(percent)); setProgress(Math.round(percent));
@ -146,7 +150,14 @@
$('.progress-bar').css('width', val+'%').attr('aria-valuenow', val).text(val + "%"); $('.progress-bar').css('width', val+'%').attr('aria-valuenow', val).text(val + "%");
} }
function setButtonDisabled( b ) {
$("#upload-btn").prop("disabled", b);
}
function getStatus() { function getStatus() {
setButtonDisabled( true );
var url = "/api/status"; var url = "/api/status";
//var url = "/test/status.json"; //var url = "/test/status.json";
$('#spinner').show(); $('#spinner').show();

View File

@ -6,7 +6,7 @@
</div> </div>
<button type="submit" class="btn btn-primary" id="upload-btn" value="upload">Flash firmware</button> <button type="submit" class="btn btn-primary" id="upload-btn" value="upload">Flash firmware</button>
</form> </form>
--><form id="uploadForm" enctype="multipart/form-data"><div class="col-md-8 custom-file"><input type="file" accept=".bin" class="custom-file-input" name="name" id="name"> <label class="custom-file-label" for="name">Choose file</label></div><button type="submit" class="btn btn-primary" id="upload-btn" value="upload">Flash firmware</button></form></div><div class="progress"><div class="progress-bar" role="progressbar" aria-valuenow="0" aria-valuemin="0" aria-valuemax="100"></div></div><hr class="my-4"></div><script type="text/javascript">window.onload = getStatus; --><form id="uploadForm" enctype="multipart/form-data"><div class="col-md-8 custom-file"><input type="file" accept=".bin" class="custom-file-input" name="name" id="name" onchange="checkName()"> <label class="custom-file-label" for="name">Choose file</label></div><button type="submit" class="btn btn-primary" id="upload-btn" value="upload">Flash firmware</button></form></div><div class="progress"><div class="progress-bar" role="progressbar" aria-valuenow="0" aria-valuemin="0" aria-valuemax="100"></div></div><hr class="my-4"></div><script type="text/javascript">window.onload = getStatus;
$(document).ready(function() { $(document).ready(function() {
$("#uploadForm").on('submit', function(e) { $("#uploadForm").on('submit', function(e) {
@ -43,6 +43,10 @@
}); });
}); });
function checkName() {
setButtonDisabled( $("#name").val()!="" ? false : true );
}
function progressHandler(event) { function progressHandler(event) {
var percent = (event.loaded / event.total) * 100; var percent = (event.loaded / event.total) * 100;
setProgress(Math.round(percent)); setProgress(Math.round(percent));
@ -52,7 +56,14 @@
$('.progress-bar').css('width', val+'%').attr('aria-valuenow', val).text(val + "%"); $('.progress-bar').css('width', val+'%').attr('aria-valuenow', val).text(val + "%");
} }
function setButtonDisabled( b ) {
$("#upload-btn").prop("disabled", b);
}
function getStatus() { function getStatus() {
setButtonDisabled( true );
var url = "/api/status"; var url = "/api/status";
//var url = "/test/status.json"; //var url = "/test/status.json";
$('#spinner').show(); $('#spinner').show();