Skip to content

Commit 4b4d803

Browse files
disable submit button when getting response and handling exception when click on stop streaming button
1 parent c9ee1b2 commit 4b4d803

File tree

1 file changed

+10
-0
lines changed

1 file changed

+10
-0
lines changed

src/main/resources/static/js/ChatPage.js

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,17 @@ document.addEventListener('DOMContentLoaded', () => {
22
const form = document.getElementById('question-form');
33
const responseContainer = document.getElementById('response-container');
44
const stopButton = document.getElementById('stop-button');
5+
const submitButton = document.querySelector('button[type="submit"]'); // Select the submit button
56

67
let eventSource;
78
let completeResponse = '';
89

910
form.addEventListener('submit', function(event) {
1011
event.preventDefault(); // Prevent the default form submission
1112

13+
// Disable the submit button
14+
submitButton.disabled = true;
15+
1216
// Clear any previous responses
1317
responseContainer.innerHTML = '';
1418
completeResponse = '';
@@ -28,6 +32,8 @@ document.addEventListener('DOMContentLoaded', () => {
2832
if (event.data === null) {
2933
// Close the event source if no more data
3034
eventSource.close();
35+
// Re-enable the submit button
36+
submitButton.disabled = false;
3137
return;
3238
}
3339

@@ -41,6 +47,8 @@ document.addEventListener('DOMContentLoaded', () => {
4147
eventSource.onerror = function(event) {
4248
console.error("EventSource failed:", event);
4349
eventSource.close();
50+
// Re-enable the submit button
51+
submitButton.disabled = false;
4452
};
4553
});
4654

@@ -49,6 +57,8 @@ document.addEventListener('DOMContentLoaded', () => {
4957
if (eventSource) {
5058
eventSource.close();
5159
responseContainer.innerHTML += '<p>Streaming stopped.</p>';
60+
// Re-enable the submit button
61+
submitButton.disabled = false;
5262
}
5363
});
5464
});

0 commit comments

Comments
 (0)