This repository has been archived on 2025-07-31. You can view files and clone it, but cannot push or open issues or pull requests.
Files
n8n-docker/large-file-form-fix.patch
2024-10-28 13:02:29 +00:00

133 lines
4.8 KiB
Diff

diff --git a/packages/cli/templates/form-trigger.handlebars b/packages/cli/templates/form-trigger.handlebars
index 08f6d2e29..1da88737f 100644
--- a/packages/cli/templates/form-trigger.handlebars
+++ b/packages/cli/templates/form-trigger.handlebars
@@ -641,7 +641,7 @@
});
});
- form.addEventListener('submit', (e) => {
+ form.addEventListener('submit', async (e) => {
const valid = [];
e.preventDefault();
@@ -690,67 +690,62 @@
document.querySelector('#submit-btn').disabled = true;
document.querySelector('#submit-btn').style.cursor = 'not-allowed';
document.querySelector('#submit-btn span').style.display = 'inline-block';
- fetch('', {
+
+ const response = await fetch('', {
method: 'POST',
body: formData,
- })
- .then(async function (response) {
- const useResponseData = document.getElementById("useResponseData").value;
-
- if (useResponseData === "true") {
- const text = await response.text();
- let json;
-
- try{
- json = JSON.parse(text);
- } catch (e) {}
-
- if (json?.redirectURL) {
- const url = json.redirectURL.includes("://") ? json.redirectURL : "https://" + json.redirectURL;
- window.location.replace(url);
- } else if (json?.formSubmittedText) {
- form.style.display = 'none';
- document.querySelector('#submitted-form').style.display = 'block';
- document.querySelector('#submitted-content').textContent = json.formSubmittedText;
- } else {
- document.body.innerHTML = text;
- }
- return;
- }
+ });
- if (response.status === 200) {
- if(response.redirected) {
- window.location.replace(response.url);
- return;
- }
- const redirectUrl = document.getElementById("redirectUrl");
- if (redirectUrl) {
- window.location.replace(redirectUrl.href);
- } else {
- form.style.display = 'none';
- document.querySelector('#submitted-form').style.display = 'block';
- }
- } else {
- form.style.display = 'none';
- document.querySelector('#submitted-form').style.display = 'block';
- document.querySelector('#submitted-header').textContent = 'Problem submitting response';
- document.querySelector('#submitted-content').textContent =
- 'Please try again or contact support if the problem persists';
- }
+ const useResponseData = document.getElementById("useResponseData").value;
+
+ if (useResponseData === "true") {
+ const text = await response.text();
+ let json;
+
+ try{
+ json = JSON.parse(text);
+ } catch (e) {}
+
+ if (json?.redirectURL) {
+ const url = json.redirectURL.includes("://") ? json.redirectURL : "https://" + json.redirectURL;
+ window.location.replace(url);
+ } else if (json?.formSubmittedText) {
+ form.style.display = 'none';
+ document.querySelector('#submitted-form').style.display = 'block';
+ document.querySelector('#submitted-content').textContent = json.formSubmittedText;
+ } else {
+ document.body.innerHTML = text;
+ }
+ return;
+ }
+ if (response.status === 200) {
+ if(response.redirected) {
+ window.location.replace(response.url);
return;
- }).then(() => {
- window.addEventListener('storage', function(event) {
- if (event.key === 'n8n_redirect_to_next_form_test_page' && event.newValue) {
- const newUrl = event.newValue;
- localStorage.removeItem('n8n_redirect_to_next_form_test_page');
- window.location.replace(newUrl);
- }
- });
- })
- .catch(function (error) {
- console.error('Error:', error);
- });
+ }
+ const redirectUrl = document.getElementById("redirectUrl");
+ if (redirectUrl) {
+ window.location.replace(redirectUrl.href);
+ } else {
+ form.style.display = 'none';
+ document.querySelector('#submitted-form').style.display = 'block';
+ }
+ } else {
+ form.style.display = 'none';
+ document.querySelector('#submitted-form').style.display = 'block';
+ document.querySelector('#submitted-header').textContent = 'Problem submitting response';
+ document.querySelector('#submitted-content').textContent =
+ 'Please try again or contact support if the problem persists';
+ }
+
+ window.addEventListener('storage', function(event) {
+ if (event.key === 'n8n_redirect_to_next_form_test_page' && event.newValue) {
+ const newUrl = event.newValue;
+ localStorage.removeItem('n8n_redirect_to_next_form_test_page');
+ window.location.replace(newUrl);
+ }
+ });
const isWaitingForm = window.location.href.includes('form-waiting');
if(isWaitingForm) {