# Field Value-Based Submit Button Text

**URL:** <https://forums.knack.com/t/field-value-based-submit-button-text/12371>\
**Category:** Ask Developers\
**Created:** [April 11, 2022, 12:19pm UTC](https://forums.knack.com/t/field-value-based-submit-button-text/12371 "2022-04-11T12:19:25Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![jason](https://avatars.discourse-cdn.com/v4/letter/j/dc4da7/32.png) [@jason](https://forums.knack.com/u/jason)\
**Post date:** [April 11, 2022, 12:19pm UTC](https://forums.knack.com/t/field-value-based-submit-button-text/12371/1 "2022-04-11T12:19:25Z")

</div>

Knack Experts,

Is there a way to change the text on a submit button based on a form field value? Specifically, I have a _yes/no_ field on a form that asks “Are you ready to submit this form?” If they select _No_, I would like the text on the Submit button to change to “Save”. If they answer _yes_, then the button would say “Submit”.

Thanks!

---

<div class="post-metadata">

**Author:** ![KnackPros](https://sea2.discourse-cdn.com/flex020/user_avatar/forums.knack.com/knackpros/32/807_2.png) [@KnackPros](https://forums.knack.com/u/KnackPros)\
**Post date:** [April 12, 2022, 12:23am UTC](https://forums.knack.com/t/field-value-based-submit-button-text/12371/2 "2022-04-12T00:23:40Z")

</div>

Hi Jason,

You can achieve your goal using the following code:

Note: I’m assuming the _Yes/No_ field is Radio input, as opposed to a checkbox or dropdown.

```auto
// This will change the Submit Button text depending on a field value.
// Note: Remember to update the view number and field number to yours.
$(document).on('knack-view-render.view_100', function (event, view, data) {
  const fieldKey = 'field_162'
  const $submitBtn = $(`#${view.key} button[type="submit"]`)
  const $input = $(`input[name="${view.key}-${fieldKey}"]`)

  function changeText() {
    const formValues = Knack.views[view.key].getFormValues()
    if (formValues[fieldKey] === 'Yes') {
      $submitBtn.text('Submit')
    } else {
      $submitBtn.text('Save')
    }
  }
  
  $input.on('change', function() {
    changeText()
  })

  changeText()
})

```

Ian  
[Knack Pros](https://knackpros.com)

---

<div class="post-metadata">

**Author:** ![jason](https://avatars.discourse-cdn.com/v4/letter/j/dc4da7/32.png) [@jason](https://forums.knack.com/u/jason)\
**Post date:** [April 12, 2022, 11:16am UTC](https://forums.knack.com/t/field-value-based-submit-button-text/12371/3 "2022-04-12T11:16:55Z")

</div>

Ian,

Thanks! Works great. Is there a way to do this with a yes/no drop-down box as opposed to radio buttons?

---

<div class="post-metadata">

**Author:** ![KnackPros](https://sea2.discourse-cdn.com/flex020/user_avatar/forums.knack.com/knackpros/32/807_2.png) [@KnackPros](https://forums.knack.com/u/KnackPros)\
**Post date:** [April 12, 2022, 5:17pm UTC](https://forums.knack.com/t/field-value-based-submit-button-text/12371/4 "2022-04-12T17:17:36Z")

</div>

Hi Jason,

Replace this line:

```auto
const $input = $(`input[name="${view.key}-${fieldKey}"]`)

```

with:

```auto
const $input = $(`select#${fieldKey}`)

```

👍

---

<div class="post-metadata">

**Author:** ![jason](https://avatars.discourse-cdn.com/v4/letter/j/dc4da7/32.png) [@jason](https://forums.knack.com/u/jason)\
**Post date:** [April 12, 2022, 5:43pm UTC](https://forums.knack.com/t/field-value-based-submit-button-text/12371/5 "2022-04-12T17:43:37Z")

</div>

Thanks again @KnackPros.

I do not want you to put any more effort into this, but for some reason this seems to interfere with conditional error messages. I use a rule that says if an answer is blank, and the submit question is yes, present an error upon form submit. I cannot use required fields, as that forces people to put anything in a box even if they are not ready to answer yet – hence the “Save” aspect.

With this code, the error messages show up before anyone even presses Submit. If I fill in the questions, it works, but without all the fields filled in, it does not.

I may very likely use this some where else, so thank you again.

---

<div class="post-metadata">

**Author:** ![KnackPros](https://sea2.discourse-cdn.com/flex020/user_avatar/forums.knack.com/knackpros/32/807_2.png) [@KnackPros](https://forums.knack.com/u/KnackPros)\
**Post date:** [April 12, 2022, 5:50pm UTC](https://forums.knack.com/t/field-value-based-submit-button-text/12371/6 "2022-04-12T17:50:53Z")

</div>

You’re welcome ✌

Regarding your conditional logic I’d have to take a closer look. Different moving parts.

Enjoy
