Freeform Freeform for Craft

User Guides

Rendering Form Data as JSON

If you need to render form data as a JSON string, you can use the json_encode filter. This is particularly useful when you need to get values like the form hash, CSRF token, honeypot input, etc. You might need to do this when caching your forms and updating these values through a JS API call.

Instructions

Here's an example in Twig:

{{ freeform.form('myForm') | json_encode }}
1

Here's the output:

{
  "id": 8,
  "hash": "a2mMY1M6j-WgED8KMGv-tVjFt4HGVMwXGMhb1MOqKPvACr9Jl1Ue7dvgJ68M",
  "name": "My Form",
  "handle": "myForm",
  "class": "Solspace\\Freeform\\Form\\Types\\Regular",
  "enctype": "application/x-www-form-urlencoded",
  "properties": {
    "hash": "a2mMY1M6j-WgED8KMGv-tVjFt4HGVMwXGMhb1MOqKPvACr9Jl1Ue7dvgJ68M",
    "init-time": 1714581258,
    "secret": "PdVVUyyRBQT2ToblNUTF"
  },
  "attributes": {
    "form": {},
    "row": {},
    "success": {},
    "errors": {}
  },
  "settings": {
    "behavior": {
      "ajax": true,
      "showProcessingSpinner": true,
      "showProcessingText": true,
      "processingText": "Processing...",
      "successBehavior": "reload",
      "successTemplate": null,
      "returnUrl": "",
      "successMessage": "Form has been submitted successfully!",
      "errorMessage": "Sorry, there was an error submitting the form. Please try again.",
      "duplicateCheck": "no_limit",
      "stopSubmissionsAfter": null
    },
    "general": {
      "name": "Tester",
      "handle": "manualTest",
      "type": "Solspace\\Freeform\\Form\\Types\\Regular",
      "submissionTitle": "{{ dateCreated|date(\"Y-m-d H:i:s\") }}",
      "formattingTemplate": "basic-light/index.twig",
      "description": "",
      "color": "#A916AC",
      "attributes": {
        "form": {},
        "row": {},
        "success": {},
        "errors": {}
      },
      "storeData": true,
      "defaultStatus": 1,
      "collectIpAddresses": true,
      "allowUsersToOptIn": false,
      "optInCheckbox": null
    }
  },
  "freeform_payload": "9b8Q0cskfYwuNgWcruicRzk0N2FlMmY1MTE2MjMzNjE2ZDdjZmRjY2Q0YjJmMDYxMDEzMTFmYzE1ZGQ5ZmM2N2EyNjFhMWQyOTY2YjVhOGL6nxMjDBSUi7dR7QIlSiqv9c4PGE/EgGMzVSNUqvrnMKmh/kHLSuStK5FLylyd2wOw6WpBtd7ZBkxf+O5k4nIw4D2e6zK2R2YY54FLss27/Tn+/SVTauKcGmL5geyxJ2Kx7D+O2kP0MSrp0oQcOpWNUWXMBrUf34ZVMCjHUFFyGYYeZd0Vrsf1NgYOnLVc4snXCICAf90ks6GBwe1atQkOZqszoaQrPcEfHE5e1eDLVxmwSbjbZvDCDJq/2LWNvWdXF5XSiUUEfQEVZZOzCzqcccDDV5tNG3s19YoCK24EtAswz/dM6N1g5kSeWZyl4c0=",
  "anchor": "f3d43b-form-a2mMY1M6j-WgED8KMGv-tVjFt4HGVMwXGMhb1MOqKPvACr9Jl1Ue7dvgJ68M",
  "csrf": {
    "name": "CRAFT_CSRF_TOKEN",
    "token": "GAwwPrDhJpONN7NHmHlQyMUisuc2vLBJRTRQ734op25VPsmcC5RBWTyAXm1ahdJrnxy-_l14hVVBFXLufT012v-z9H_Oiy2xtrzsYfjMM1FhvwhT5IL7siLY1SfcniE1woLHjZA47k8jbc7gNG9bR7iloUkKB8ruDIiqqqZ6v3Kwnp03hpXMWHiGO_MCeJqVx0x6WzxkccWPacnkW9YN1g59uaNX2pJG-MUbAwUThyRO1ysTaJHPb-EZNEDmPw5osbQNp32MzmROvG13IRONHwhW652LxRqq707XgdrUUZmtAmNS2T9hgLvD0Bu77RS9_RUC87fzvahe3X0QLv60exo1COLMzSxASb3Dfe7fwtMK-wfi2Kx07s-qKD3AbatRHO_NqjBL"
  },
  "action": "freeform/submit",
  "jsTest": {
    "name": "freeform_check"
  },
  "honeypot": {
    "name": "freeform_form_handle",
    "value": ""
  }
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68