Search...
createSubmission( )
Creates a submission.
Note: The Submissions API is only available in Wix Studio and Editor X.
Description
The createSubmission()
function is an alternative way to the WixFormsV2
element for submitting a form. In this case, clicking the submit button is unnecessary, the submission is automatically created when calling this function.
Syntax
function createSubmission(submission: FormSubmission, options: CreateSubmissionOptions): Promise<CreateSubmissionResponse>
createSubmission Parameters
NAME
TYPE
DESCRIPTION
submission
FormSubmission
Submission to create.
options
Optional
CreateSubmissionOptions
Optional fields.
Returns
Return Type:
Promise<
CreateSubmissionResponse
>NAME
TYPE
DESCRIPTION
submission
FormSubmission
The created submission.
Was this helpful?
Create a submission
Copy Code
1import { submissions } from 'wix-forms.v2';23/* Sample submission value:4{5 "formId": "21bcb6c7-02b3-4ed1-b6db-7856094fac03",6 "seen": false,7 "status": "PENDING",8 "submissions": {9 "first_name": "Patsy",10 "last_name": "McBride"11 }12}13*/1415export async function myCreateSubmissionFunction(submission, options) {16 try {17 const createdSubmission = await submissions.createSubmission(submission, options);18 console.log('Success! Created submission:', createdSubmission);19 return createdSubmission;20 } catch (error) {21 console.error(error);22 // Handle the error23 }24}2526/* Promise resolves to:27{28 "submission": {29 "formId": "21bcb6c7-02b3-4ed1-b6db-7856094fac03",30 "namespace": "wix.form_app.form",31 "status": "PENDING",32 "submissions": {33 "first_name": "Patsy",34 "last_name": "McBride"35 },36 "revision": "1",37 "submitter": {38 "applicationId": "151e476a-715e-ec33-db9a-a7ff4d51f70a"39 },40 "seen": false,41 "_id": "f8281b62-1b2f-45bf-ba7d-f041d7653d2d",42 "_createdDate": "2023-12-28T12:55:55.630Z",43 "_updatedDate": "2023-12-28T12:55:55.746Z"44 }45}46*/
Create a submission (export from backend code)
Copy Code
1import { Permissions, webMethod } from 'wix-web-module';2import { submissions } from 'wix-forms.v2';3import { elevate } from 'wix-auth';45/* Sample submission value:6{7 "formId": "21bcb6c7-02b3-4ed1-b6db-7856094fac03",8 "seen": false,9 "status": "PENDING",10 "submissions": {11 "first_name": "Patsy",12 "last_name": "McBride"13 }14}15*/1617export const myCreateSubmissionFunction = webMethod(Permissions.Anyone, async (submission, options) => {18 try {19 const elevatedCreateSubmission = elevate(submissions.createSubmission);20 const createdSubmission = await elevatedCreateSubmission(submission, options);21 console.log('Success! Created submission:', createdSubmission);22 return createdSubmission;23 } catch (error) {24 console.error(error);25 // Handle the error26 }27});2829/* Promise resolves to:30{31 "submission": {32 "formId": "21bcb6c7-02b3-4ed1-b6db-7856094fac03",33 "namespace": "wix.form_app.form",34 "status": "PENDING",35 "submissions": {36 "first_name": "Patsy",37 "last_name": "McBride"38 },39 "revision": "1",40 "submitter": {41 "applicationId": "151e476a-715e-ec33-db9a-a7ff4d51f70a"42 },43 "seen": false,44 "_id": "f8281b62-1b2f-45bf-ba7d-f041d7653d2d",45 "_createdDate": "2023-12-28T12:55:55.630Z",46 "_updatedDate": "2023-12-28T12:55:55.746Z"47 }48}49*/50
Create a submission with a media file
Copy Code
1/**************************************2 * Backend code - my-backend-file.web.js *3 *************************************/45import { Permissions, webMethod } from 'wix-web-module';6import { submissions } from 'wix-forms.v2';7import { elevate } from 'wix-auth';89// Get a URL for uploading a media file1011export const myGetMediaUploadUrlFunction = webMethod(Permissions.Anyone, async (formId, filename, mimeType) => {12 try {13 const elevatedGetMediaUploadUrl = elevate(submissions.getMediaUploadUrl);14 const uploadUrl = await elevatedGetMediaUploadUrl(formId, filename, mimeType);15 return uploadUrl;16 } catch (error) {17 console.error(error);18 // Handle the error19 }20});2122// Create a submission2324export const myCreateSubmissionFunction = webMethod(Permissions.Anyone, async (submission, options) => {25 try {26 const elevatedCreateSubmission = elevate(submissions.createSubmission);27 const createdSubmission = await elevatedCreateSubmission(submission, options);28 return createdSubmission;29 } catch (error) {30 console.error(error);31 // Handle the error32 }33});3435/*************36 * Page code *37 ************/3839import { myCreateSubmissionFunction, myGetMediaUploadUrlFunction } from 'backend/my-backend-file.web';4041const submission = {42 "formId": "21bcb6c7-02b3-4ed1-b6db-7856094fac03",43 "seen": false,44 "revision": "6",45 "submissions": {46 "first_name": "Jane",47 "last_name": "McBride",48 "file_upload_7a7f": ""49 }50}5152const formId = "21bcb6c7-02b3-4ed1-b6db-7856094fac03"5354const filename = "photo.jpg"5556const mimeType = "image/jpg"5758$w.onReady(() => {5960 myGetMediaUploadUrlFunction(formId, filename, mimeType).then((result) => {61 submission.submissions.file_upload_7a7f = result.uploadUrl // push the URL into the submissions object62 });6364 /*65 Upload a media file to the generated URL by following the66 information written in the Upload API (https://www.wix.com/velo/reference/wix-media-v2/upload-api) article.67 */6869 myCreateSubmissionFunction(submission).then((result) => {70 console.log('Success! Created submission:', result);71 });7273});