Blog

How to Add a "Save and Keep Working" Button in Quickbase with a Formula - URL Field

Turn on "Auto save when redirected away from the page" and add a Formula - URL button that reopens the record in edit mode. Covers new records, mobile with new forms, and variations for view mode and adding child records.

A Save and Keep Working button on a Quickbase edit form

A question I see often in the Quickbase community: people want a Save and Keep Working button on a form. Click it, the record saves, and they stay right on the same record in edit mode so they can keep typing. The person who asked in this community thread had it working with a Formula - Rich Text button on desktop, but it didn't work on mobile, and they wanted to know if a Formula - URL field could do it instead.

It can. You need one table setting and one formula:

  1. In the table's Advanced settings, turn on Auto save when redirected away from the page.
  2. Add a Formula - URL field, displayed as a button, that points back to the same record in edit mode:
URLRoot() & "db/" & Dbid() & "?a=er&rid=" & [Record ID#]

With the setting on, a Formula - URL button saves any edits before it follows its link, so the button saves the record and then reopens it in edit mode. This guide walks through the setup, the one catch (brand-new records), how it behaves on mobile, and a few variations you can build the same way.

Diagram: Sarah Lee edits record 12, clicks the Save and Keep Working button, Quickbase auto saves because the table setting is on, and the a=er link reopens record 12 in edit mode. A new record has no Record ID# yet, so wrap the formula in If to hide the button until the first save.

How it works

Normally, if you click a link or button on a form while you have unsaved changes, Quickbase asks whether you want to leave the page and lose them. The Auto save when redirected away from the page table setting changes that: when a Formula - URL button sends you somewhere else, Quickbase saves the record first and then follows the link.

So the trick is just to make the "somewhere else" the same record, in edit mode. The URL pieces are:

  • URLRoot() returns your realm's address, like https://yourrealm.quickbase.com/.
  • "db/" & Dbid() is the current table. Dbid() returns the dbid of the table the formula lives in, so you don't have to hard-code it.
  • ?a=er is the action for edit record.
  • &rid=" & [Record ID#] tells it which record.

On record 12 the button's link comes out as https://yourrealm.quickbase.com/db/TABLE_DBID?a=er&rid=12.

Step 1: Turn on the auto save setting

  1. Open the table and go to its settings (the table's Settings page).
  2. Open Advanced settings.
  3. Check Auto save when redirected away from the page.
  4. Save.

On many newer apps this box is already checked by default. If you're on an older app and your buttons keep showing a "Leave site? Changes you made may not be saved" prompt, this setting is usually why. It applies to the whole table, so every Formula - URL button on that table's forms will save before navigating, not just the new one. That's normally what you want, but it's worth knowing before you flip it on a busy table.

Step 2: Add the Formula - URL button

  1. In the same table, go to Fields and add a new field.
  2. Name it Save and Keep Working and choose the Formula - URL type.
  3. Paste in this formula:
If(
  [Record ID#] > 0,
  URLRoot() & "db/" & Dbid() & "?a=er&rid=" & [Record ID#],
  ""
)
  1. In the field's options, check Display as a button and pick a button color if you like.
  2. Leave Open Target in New Window unchecked. You want the edit form to reload in the same tab.
  3. Save the field.

The If wrapper is there for new records, which I cover in the next section. On a record that's already been saved it returns exactly the same link as the one-line formula from the community answer.

I tested this in a sandbox app with a small Site Inspections table (Inspector, Notes, Status) and two records for Sarah Lee and Mike Chen. After creating the field, the formula returned .../db/TABLE_DBID?a=er&rid=1 for record 1 and ...?a=er&rid=2 for record 2, so the formula is valid as written.

Step 3: Put the button on the form

  1. Open the table's form (or forms) that people use for editing.
  2. Add the Save and Keep Working field where people will see it. The top or bottom of the form, near the native Save buttons, works well.
  3. Save the form.

Now open a record in edit mode, change something, and click the button. The record saves and the same record comes back up in edit mode with your change in place.

The catch: brand-new records

This only works once a record has been saved the first time. On the add form, a brand-new record doesn't have a Record ID# yet, so the plain formula would produce a link ending in rid= with nothing after it, and that link has nowhere to go.

There are two easy ways to handle that:

  • Return blank from the formula. That's what the If([Record ID#] > 0, ..., "") version in Step 2 does. When there's no Record ID#, the formula returns an empty value and there's no button to click. Once the record is saved and reopened, the button shows up.
  • Hide it with a form rule. If you'd rather keep the formula simple, add a rule on the form that hides the button field when Record ID# is empty. I'd still use the If version, since it covers every form and report the field appears on without any extra rules.

On the add form, people use the normal Save button for that first save. Quickbase saves the record and opens it, and from then on the button is there.

There is one more option if you really need a single button that works on the add form too. Formula - Rich Text links can use data-replaceRid=true with %%rid%% in the URL. Quickbase saves the new record and swaps in its new Record ID# before navigating. Quickbase documents that this only works when the link opens in the same tab (not a popup or new tab). It's a rich text approach, so check how it behaves for your users on mobile before you rely on it.

Mobile

This was the original problem in the thread, so here's the detail. On the old legacy forms, the Auto save when redirected away from the page setting only applied to the full desktop site, and mobile needed rich text workarounds like data-autosave=true.

The new forms experience has been generally available in the Quickbase mobile app since April 2025. Quickbase's announcement for that release says the table-level auto save setting, the SaveBeforeNavigating class, and URL parameters like ifv=1 and hs=1 are supported on mobile with new forms. So if your form is a new form, the same Formula - URL button saves and reopens the record on mobile too.

If you're still on a legacy form for mobile:

  1. Rebuild the form in the new form builder (or convert it).
  2. On the table's Forms page, make sure the new form is the one used for mobile, either by having mobile use the full site forms or by picking it in the mobile form column for the right roles.
  3. Test the button on a phone with a real record before you roll it out.

Variations

The same pattern works for any button that should save first and then go somewhere. Only the URL changes. All of these assume the auto save setting from Step 1 is on.

Save and return to view mode

Use a=dr (display record) instead of a=er:

If(
  [Record ID#] > 0,
  URLRoot() & "db/" & Dbid() & "?a=dr&rid=" & [Record ID#],
  ""
)

This is handy as a Save and View button, so people can check the finished record without the form fields in the way.

Save and add a child record

Say each Site Inspection has many Inspection Items. You can save the inspection and open a new Inspection Item form that's already linked to it:

If(
  [Record ID#] > 0,
  URLRoot() & "db/" & [_DBID_INSPECTION_ITEMS]
    & "?a=API_GenAddRecordForm"
    & "&_fid_7=" & [Record ID#]
    & "&z=" & Rurl(),
  ""
)

Two things to change for your app:

  • [_DBID_INSPECTION_ITEMS] is the child table's alias. You'll find it in the child table's Advanced settings. In my sandbox the child table was named "Blog Demo - Inspection Items", so its alias came out as [_DBID_BLOG_DEMO___INSPECTION_ITEMS].
  • _fid_7 is the field ID of the reference field in the child table (the "Related Site Inspection" field that points to the parent). Use your own field ID.

&z=" & Rurl() sends the person back to the page they started on after they save the child record. I created this field in the sandbox too, and for record 1 it produced .../db/CHILD_DBID?a=API_GenAddRecordForm&_fid_7=1&z= with the return address filled in from the page when someone actually clicks it.

Save and go somewhere else

Anything you can link to works the same way: a report, a dashboard, a code page, or another record. The auto save happens because the button navigates away, not because of where it goes.

Troubleshooting

  • You still get a "Leave site?" prompt. Check that Auto save when redirected away from the page is on for the table the form belongs to, not a different table. Also make sure the button is a Formula - URL field. Rich text links need the SaveBeforeNavigating class to save first.
  • The button isn't on the add form. That's expected with the If version. Save the record once and the button appears.
  • You get "Record not found" or an error page. Look at the link the button produces on a saved record. If it ends in rid= with no number, the record hadn't been saved yet. If the dbid looks wrong, make sure you used Dbid() in a formula on the same table.
  • Nothing happens on mobile. Confirm the mobile users are on a new form, not a legacy mobile form, and that the button doesn't open in a new window.
  • The record doesn't save because a required field is blank. The auto save runs the same checks as a normal save, so required fields and data rules still apply. Fill them in and click again.

Wrap-up

A Save and Keep Working button takes two minutes to build: turn on Auto save when redirected away from the page for the table, then add a Formula - URL button that links to ?a=er&rid= and the Record ID#. Wrap it in an If so it stays out of the way on new records, use a new form if your people work on phones, and swap the URL for view mode or a child add form when you need a different flavor of the same button.