Skip to content

Commit e211b9c

Browse files
committed
refactor feedback
1 parent cb8e515 commit e211b9c

File tree

1 file changed

+10
-1
lines changed

1 file changed

+10
-1
lines changed

src/components/FeedbackForm.astro

+10-1
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@ import { Icon } from 'astro-icon/components';
3737
<fieldset>
3838
<legend>Was this page helpful?</legend>
3939
<div class="feedback-form-buttons" style="margin-top: 0;">
40+
<input type="hidden" name="feedback-value" id="feedback-value" value="" />
4041
<button type="submit" data-value="good" style="margin-top: 0.5rem;">
4142
<Icon name="mdi:emoticon-happy-outline" width="32" height="32" />
4243
</button>
@@ -58,7 +59,7 @@ import { Icon } from 'astro-icon/components';
5859

5960
function onFormSubmit(e: SubmitEvent) {
6061
e.preventDefault();
61-
const value = e.submitter?.dataset.value;
62+
const value = submitValueField.value;
6263
trackEvent(`Feedback:${value}`);
6364
const form = document.querySelector<HTMLFormElement>('.feedback-form');
6465
(form!.firstElementChild! as HTMLFieldSetElement).disabled = true;
@@ -70,4 +71,12 @@ import { Icon } from 'astro-icon/components';
7071

7172
const form = document.querySelector<HTMLFormElement>('.feedback-form');
7273
form!.addEventListener('submit', onFormSubmit);
74+
75+
const submitValueField = document.getElementById('feedback-value') as HTMLInputElement;
76+
77+
form!.querySelectorAll('button[type="submit"]').forEach(button => {
78+
button.addEventListener('click', function(e) {
79+
submitValueField!.value = (e.target as HTMLButtonElement).getAttribute('data-value')!;
80+
});
81+
});
7382
</script>

0 commit comments

Comments
 (0)