Display a form submit button.

When this button is clicked, all widget values inside the form will be sent to Streamlit in a batch.

Every form must have a form_submit_button. A form_submit_button cannot exist outside a form.

For more information about forms, check out our blog post.

Function signature[source]

st.form_submit_button(label="Submit", help=None, on_click=None, args=None, kwargs=None, *, type="secondary", disabled=False, use_container_width=False)


label (str)

A short label explaining to the user what this button is for. Defaults to "Submit".

help (str or None)

A tooltip that gets displayed when the button is hovered over. Defaults to None.

on_click (callable)

An optional callback invoked when this button is clicked.

args (tuple)

An optional tuple of args to pass to the callback.

kwargs (dict)

An optional dict of kwargs to pass to the callback.

type ("secondary" or "primary")

An optional string that specifies the button type. Can be "primary" for a button with additional emphasis or "secondary" for a normal button. This argument can only be supplied by keyword. Defaults to "secondary".

disabled (bool)

An optional boolean, which disables the button if set to True. The default is False. This argument can only be supplied by keyword.

use_container_width (bool)

An optional boolean, which makes the button stretch its width to match the parent container.



True if the button was clicked.


Still have questions?

Our forums are full of helpful information and Streamlit experts.

Was this page helpful?

editEdit this page on GitHub