Не уверен, что вы имели в виду сделать <select>
неизменным после того, как они были изменены, или они начинаются таким образом.Я предполагаю, что первое (изменилось только один раз?) Но если второе, это простая модификация, дайте мне знать, если у вас есть проблемы.Эта демонстрационная программа выполняет следующие действия:
- Отключает
<select>
после использования пользователем. - Назначает значение
<select>
значению <input type='hidden'>
. <input type='hidden'>
присваивается [name=
X ]
;X = select.name
или X = select.id
- Форма настроена для отправки данных на живой тестовый сервер .Ответ перенаправляется на
<iframe>
. - В случае успеха в ответе должны указываться
key/value
пара (ы), ${nameOfSelect/HiddenInput}:{valueOfSelect/HiddenInput}
Демо
var M = document.forms.main;
var F = M.elements;
var FS = F.fieldset0;
FS.addEventListener('change', freeze);
function freeze(e) {
if (e.target.tagName === "SELECT") {
var tgt = e.target.id;
e.target.disabled = true;
var cache = document.querySelector(`input[name=${tgt}]`);
cache.value = e.target.value;
}
}
[type=submit] {
display: block;
}
<form id='main' action='https://httpbin.org/post' method='post' target='view'>
<fieldset id='fieldset0'>
<select id='select0' name='select0'>
<option default value=""></option>
<option value="A">A</option>
<option value="B">B</option>
<option value="C">C</option>
<option value="D">D</option>
<option value="E">E</option>
</select>
<select id='select1' name='select1'>
<option default value=""></option>
<option value="A">A</option>
<option value="B">B</option>
<option value="C">C</option>
<option value="D">D</option>
<option value="E">E</option>
</select>
<select id='select2' name='select2'>
<option default value=""></option>
<option value="A">A</option>
<option value="B">B</option>
<option value="C">C</option>
<option value="D">D</option>
<option value="E">E</option>
</select>
</fieldset>
<input id='cache0' name='select0' type='hidden'>
<input id='cache1' name='select1' type='hidden'>
<input id='cache2' name='select2' type='hidden'>
<input type='submit'>
<iframe name='view'></iframe>