diff --git a/src/pretix/control/templates/pretixcontrol/items/questionnaires.html b/src/pretix/control/templates/pretixcontrol/items/questionnaires.html
index 0d4cb663a..61b26276e 100644
--- a/src/pretix/control/templates/pretixcontrol/items/questionnaires.html
+++ b/src/pretix/control/templates/pretixcontrol/items/questionnaires.html
@@ -26,6 +26,9 @@
{{ request.event.settings.locales|json_script:"event_locales" }}
{{ questionnaire_type_choices|json_script:"questionnaire_type_choices" }}
+ {% url "control:event.items.questions.edit" organizer=request.event.organizer.slug event=request.event.slug question=0 as datafield_edit_url %}
+ {{ datafield_edit_url|json_script:"datafield_edit_url" }}
+
diff --git a/src/pretix/static/pretixcontrol/js/ui/questionnaires/QuestionElement.vue b/src/pretix/static/pretixcontrol/js/ui/questionnaires/QuestionElement.vue
index 504780f5b..6f526046b 100644
--- a/src/pretix/static/pretixcontrol/js/ui/questionnaires/QuestionElement.vue
+++ b/src/pretix/static/pretixcontrol/js/ui/questionnaires/QuestionElement.vue
@@ -4,6 +4,7 @@ import NativeDialog from './NativeDialog.vue';
import I18nTextField from './I18nTextField.vue';
import { useId, ref } from 'vue'
import { DragHandle } from 'vue-slicksort';
+import {get_datafield_edit_url} from "./api";
const id = useId();
const props = defineProps(['question', 'datafields', 'editable'])
@@ -86,8 +87,13 @@ const editor = ref();
diff --git a/src/pretix/static/pretixcontrol/js/ui/questionnaires/api.ts b/src/pretix/static/pretixcontrol/js/ui/questionnaires/api.ts
index 7ed8fb35e..1a7d158f9 100644
--- a/src/pretix/static/pretixcontrol/js/ui/questionnaires/api.ts
+++ b/src/pretix/static/pretixcontrol/js/ui/questionnaires/api.ts
@@ -57,3 +57,7 @@ function get_json_script_value(id) {
export function get_event_locales() {
return get_json_script_value('event_locales');
}
+
+export function get_datafield_edit_url(datafield_id) {
+ return get_json_script_value('datafield_edit_url').replace('/0/', `/${datafield_id}/`);
+}