Hi, thanks for bringing this to light. I suggest creating a feature enhancement in our github issues page (Issues · streamlit/streamlit · GitHub). Based on the likes and community involvement, we highly consider issues with high likes and community involvement!
For those who get the same error but do not have bootstrap components implemented:
I’ve implemented an on_click function in the st.form_submit_button and wasn’t using an if statement for the submit_button that takes action upon clicking the button. Changing my code similar to this removed the error:
submit_button = st.form_submit_button()
if submit_button: do_something
here looking for a solution. When I click form submit button it disappears and I get the same error “missing submit…”
I tried to use the example form submit. It works ok in its own page but as soon as a form is added to the page where I need it there is an error. I do not have an if statement as above.
debugging further it seems there is an error caused by use of
st.session_state.update(st.session_state)
I have been able to remove the behaviour via
st.session_state.update()
It doesnt look like there is any issue with my multipage app with this but now I am wondering why I had the recursive st.session_state.update(st.session_state)
I’m having this problem as well, On submit of the form I set a few session variables, one indicating what step of a process I’m on, and then do both a st.session_state.update and an st.rerun and I still get the form rerendering with the missing buttons error but it only appears briefly.
Thanks for stopping by! We use cookies to help us understand how you interact with our website.
By clicking “Accept all”, you consent to our use of cookies. For more information, please see our privacy policy.
Cookie settings
Strictly necessary cookies
These cookies are necessary for the website to function and cannot be switched off. They are usually only set in response to actions made by you which amount to a request for services, such as setting your privacy preferences, logging in or filling in forms.
Performance cookies
These cookies allow us to count visits and traffic sources so we can measure and improve the performance of our site. They help us understand how visitors move around the site and which pages are most frequently visited.
Functional cookies
These cookies are used to record your choices and settings, maintain your preferences over time and recognize you when you return to our website. These cookies help us to personalize our content for you and remember your preferences.
Targeting cookies
These cookies may be deployed to our site by our advertising partners to build a profile of your interest and provide you with content that is relevant to you, including showing you relevant ads on other websites.