Изменить скрытое значение ввода при отправке формы - PullRequest
1 голос
/ 12 февраля 2020

У меня есть скрытое поле для состояния, при котором D & B автоматически заполняется 2-буквенным кодом состояния. Когда форма будет отправлена, я хочу изменить ее на полное название штата (например, Нью-Йорк станет Нью-Йорком). Каков наилучший способ сделать это?

Ответы [ 2 ]

1 голос
/ 12 февраля 2020

Вы можете добавить атрибут onsubmit к элементу form:

<form onsubmit="return changeValue();" id="my-form">
    <input type="hidden" value="NY" id="state-code">
</form>

Затем добавить следующее javascript:

var stateNames = {
  NY: "New York",
  EG: "Example City"
}

function changeValue() {

  hiddenInput = document.getElementById("state-code")

  currentValue = hiddenInput.value;
  newValue = stateNames[currentValue];

  hiddenInput.value = newValue;
}
0 голосов
/ 12 февраля 2020

у вас должен быть объект, содержащий сопоставление между коротким и полным именем состояния

let statesNameMap = {
        NY: 'New York',
        IL: 'Illinois',
}

Например, formValues ​​- это данные, которые вы должны представить

let formValues = {state: 'NY', Name: 'Lorem' }
const handleSubmit = () => {
    formValues.state = stateNameMap[formValues.state];
    // Result: formValues = {state: "New York", Name: "Lorem"}
    // handle submission logic
}
...