itzbhav's picture
Upload 101 files
655f41f verified
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Evidence Form</title>
<link rel="stylesheet" href="{{ url_for('static', filename='css/styles.css') }}">
<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
</head>
<body>
<div class="navbar">
<a href="/home">Home</a>
<a href="/dashboard">Dashboard</a>
<a href="/logout">Logout</a>
</div>
<div class="container">
<h2>Submit Evidence</h2>
<!-- Form to upload evidence image -->
<form id="evidence-form" action="/home" method="POST" enctype="multipart/form-data">
<div>
<label for="evidence_image">Upload Evidence Image (Required for Prediction)</label>
<input type="file" name="evidence_image" id="evidence_image" required>
</div>
<!-- Show the predicted evidence type -->
<div id="prediction-result" style="display: none;">
<p>Predicted Evidence Type: <strong id="predicted_evidence"></strong></p>
</div>
<!-- Form fields with values predicted by the CNN -->
<div>
<label for="temperature">Temperature (°C):</label>
<input type="text" name="temperature" id="temperature" required>
</div>
<div>
<label for="humidity">Humidity (%):</label>
<input type="text" name="humidity" id="humidity" required>
</div>
<div>
<label for="vibration">Vibration (0/1):</label>
<input type="text" name="vibration" id="vibration" required>
</div>
<div>
<label for="light_intensity">Light Intensity (lx):</label>
<input type="text" name="light_intensity" id="light_intensity" required>
</div>
<div>
<label for="battery_level">Battery Level (%):</label>
<input type="text" name="battery_level" id="battery_level" required>
</div>
<button type="submit">Submit Evidence</button>
</form>
</div>
<!-- Script to automatically upload the image and fill form fields -->
<script>
$('#evidence_image').on('change', function () {
const formData = new FormData();
formData.append('evidence_image', this.files[0]);
$.ajax({
url: '/predict_evidence',
type: 'POST',
data: formData,
processData: false,
contentType: false,
success: function (data) {
// Show prediction result and autofill form fields
$('#prediction-result').show();
$('#predicted_evidence').text(data.predicted_evidence);
$('#temperature').val(data.variables.Temperature);
$('#humidity').val(data.variables.Humidity);
$('#vibration').val(data.variables.Vibration);
$('#light_intensity').val(data.variables.Light_Intensity);
$('#battery_level').val(data.variables.Battery_Level);
},
error: function (xhr, status, error) {
alert('Error predicting evidence type');
}
});
});
</script>
</body>
</html>