Skip to main content

Button examples

  • # default

    {
      "text": "Save and continue"
    }
    
    {% from "govuk/components/button/macro.njk" import govukButton %}
    
    {{ govukButton({
      "text": "Save and continue"
    }) }}
            
  • # disabled

    {
      "text": "Disabled button",
      "disabled": true
    }
    
    {% from "govuk/components/button/macro.njk" import govukButton %}
    
    {{ govukButton({
      "text": "Disabled button",
      "disabled": true
    }) }}
            
  • {
      "text": "Link button",
      "href": "/"
    }
    
    {% from "govuk/components/button/macro.njk" import govukButton %}
    
    {{ govukButton({
      "text": "Link button",
      "href": "/"
    }) }}
            
  • # start

    {
      "text": "Start now button",
      "isStartButton": true
    }
    
    {% from "govuk/components/button/macro.njk" import govukButton %}
    
    {{ govukButton({
      "text": "Start now button",
      "isStartButton": true
    }) }}
            
  • # input

    {
      "element": "input",
      "name": "start-now",
      "text": "Start now"
    }
    
    {% from "govuk/components/button/macro.njk" import govukButton %}
    
    {{ govukButton({
      "element": "input",
      "name": "start-now",
      "text": "Start now"
    }) }}
            
  • # secondary

    {
      "name": "secondary",
      "text": "Secondary button",
      "classes": "govuk-button--secondary"
    }
    
    {% from "govuk/components/button/macro.njk" import govukButton %}
    
    {{ govukButton({
      "name": "secondary",
      "text": "Secondary button",
      "classes": "govuk-button--secondary"
    }) }}
            
  • # warning

    {
      "name": "Warning",
      "text": "Warning button",
      "classes": "govuk-button--warning"
    }
    
    {% from "govuk/components/button/macro.njk" import govukButton %}
    
    {{ govukButton({
      "name": "Warning",
      "text": "Warning button",
      "classes": "govuk-button--warning"
    }) }}
            
  • # inverse

    {
      "name": "Inverse",
      "text": "Inverse button",
      "classes": "govuk-button--inverse"
    }
    
    {% from "govuk/components/button/macro.njk" import govukButton %}
    
    {{ govukButton({
      "name": "Inverse",
      "text": "Inverse button",
      "classes": "govuk-button--inverse"
    }) }}
            
  • # attributes

    {
      "element": "button",
      "text": "Submit",
      "attributes": {
        "aria-controls": "test-target-element",
        "data-tracking-dimension": 123
      }
    }
    
    {% from "govuk/components/button/macro.njk" import govukButton %}
    
    {{ govukButton({
      "element": "button",
      "text": "Submit",
      "attributes": {
        "aria-controls": "test-target-element",
        "data-tracking-dimension": 123
      }
    }) }}
            
  • # link attributes

    {
      "element": "a",
      "text": "Submit",
      "attributes": {
        "aria-controls": "test-target-element",
        "data-tracking-dimension": 123
      }
    }
    
    {% from "govuk/components/button/macro.njk" import govukButton %}
    
    {{ govukButton({
      "element": "a",
      "text": "Submit",
      "attributes": {
        "aria-controls": "test-target-element",
        "data-tracking-dimension": 123
      }
    }) }}
            
  • # input attributes

    {
      "element": "input",
      "text": "Submit",
      "attributes": {
        "aria-controls": "test-target-element",
        "data-tracking-dimension": 123
      }
    }
    
    {% from "govuk/components/button/macro.njk" import govukButton %}
    
    {{ govukButton({
      "element": "input",
      "text": "Submit",
      "attributes": {
        "aria-controls": "test-target-element",
        "data-tracking-dimension": 123
      }
    }) }}
            
  • # classes

    {
      "text": "Submit",
      "element": "button",
      "classes": "app-button--custom-modifier"
    }
    
    {% from "govuk/components/button/macro.njk" import govukButton %}
    
    {{ govukButton({
      "text": "Submit",
      "element": "button",
      "classes": "app-button--custom-modifier"
    }) }}
            
  • # link classes

    {
      "text": "Submit",
      "element": "a",
      "classes": "app-button--custom-modifier"
    }
    
    {% from "govuk/components/button/macro.njk" import govukButton %}
    
    {{ govukButton({
      "text": "Submit",
      "element": "a",
      "classes": "app-button--custom-modifier"
    }) }}
            
  • # input classes

    {
      "text": "Submit",
      "element": "input",
      "classes": "app-button--custom-modifier"
    }
    
    {% from "govuk/components/button/macro.njk" import govukButton %}
    
    {{ govukButton({
      "text": "Submit",
      "element": "input",
      "classes": "app-button--custom-modifier"
    }) }}
            
  • # name

    {
      "text": "Submit",
      "element": "button",
      "name": "start-now"
    }
    
    {% from "govuk/components/button/macro.njk" import govukButton %}
    
    {{ govukButton({
      "text": "Submit",
      "element": "button",
      "name": "start-now"
    }) }}
            
  • # type

    {
      "text": "Submit",
      "element": "button",
      "type": "button"
    }
    
    {% from "govuk/components/button/macro.njk" import govukButton %}
    
    {{ govukButton({
      "text": "Submit",
      "element": "button",
      "type": "button"
    }) }}
            
  • # input type

    {
      "text": "Submit",
      "element": "input",
      "type": "button"
    }
    
    {% from "govuk/components/button/macro.njk" import govukButton %}
    
    {{ govukButton({
      "text": "Submit",
      "element": "input",
      "type": "button"
    }) }}
            
  • {
      "element": "a",
      "href": "/",
      "text": "Continue"
    }
    
    {% from "govuk/components/button/macro.njk" import govukButton %}
    
    {{ govukButton({
      "element": "a",
      "href": "/",
      "text": "Continue"
    }) }}
            
  • # no href

    {
      "text": "Submit",
      "element": "a"
    }
    
    {% from "govuk/components/button/macro.njk" import govukButton %}
    
    {{ govukButton({
      "text": "Submit",
      "element": "a"
    }) }}
            
  • # value

    {
      "text": "Submit",
      "element": "button",
      "value": "start"
    }
    
    {% from "govuk/components/button/macro.njk" import govukButton %}
    
    {{ govukButton({
      "text": "Submit",
      "element": "button",
      "value": "start"
    }) }}
            
  • # html

    {
      "text": "Submit",
      "element": "button",
      "html": "Start <em>now</em>"
    }
    
    {% from "govuk/components/button/macro.njk" import govukButton %}
    
    {{ govukButton({
      "text": "Submit",
      "element": "button",
      "html": "Start <em>now</em>"
    }) }}
            
  • # no type

    {
      "text": "Button!"
    }
    
    {% from "govuk/components/button/macro.njk" import govukButton %}
    
    {{ govukButton({
      "text": "Button!"
    }) }}
            
  • # no data-prevent-double-click

    {
      "text": "Submit"
    }
    
    {% from "govuk/components/button/macro.njk" import govukButton %}
    
    {{ govukButton({
      "text": "Submit"
    }) }}
            
  • # don't prevent double click

    {
      "text": "Submit",
      "preventDoubleClick": false
    }
    
    {% from "govuk/components/button/macro.njk" import govukButton %}
    
    {{ govukButton({
      "text": "Submit",
      "preventDoubleClick": false
    }) }}
            
  • # id

    {
      "text": "Submit",
      "element": "input",
      "id": "submit"
    }
    
    {% from "govuk/components/button/macro.njk" import govukButton %}
    
    {{ govukButton({
      "text": "Submit",
      "element": "input",
      "id": "submit"
    }) }}
            
  • {
      "text": "Start now link button",
      "href": "/",
      "isStartButton": true
    }
    
    {% from "govuk/components/button/macro.njk" import govukButton %}
    
    {{ govukButton({
      "text": "Start now link button",
      "href": "/",
      "isStartButton": true
    }) }}
            
  • # input disabled

    {
      "element": "input",
      "text": "Explicit input button disabled",
      "disabled": true
    }
    
    {% from "govuk/components/button/macro.njk" import govukButton %}
    
    {{ govukButton({
      "element": "input",
      "text": "Explicit input button disabled",
      "disabled": true
    }) }}
            
  • # prevent double click

    {
      "text": "Submit",
      "preventDoubleClick": true
    }
    
    {% from "govuk/components/button/macro.njk" import govukButton %}
    
    {{ govukButton({
      "text": "Submit",
      "preventDoubleClick": true
    }) }}