Ниже вы найдете пример страницы.
Обратите внимание, что:
- элементу выбора (и любому элементу формы) требуется имя, которое будет включено в сообщение.
- будут опубликованы только выбранные опции в элементе select.
Какие значения выбираются в поле пользователем?
Когда пользователь отправляет форму, на сервер отправляются только выбранные значения. В зависимости от того, какой язык вы используете на сервере, существуют разные способы доступа к ним.
Какие опции добавляются в поле пользователем?
Как говорилось ранее, вы видите только те опции, которые были выбраны. Но как вы различаете ваши параметры и параметры пользователя? Это зависит от того, какие данные вы отправляете пользователю. Универсальный ответ - это то, что вы получаете обратно, а не отправили. Однако это может быть упрощено в зависимости от ваших данных. Поскольку параметры имеют как значение, так и текстовое свойство, можно использовать числовое значение для предварительно созданных значений. Таким образом, ваши значения будут числовыми в ответе, а пользовательские значения будут текстовой строкой. Этот подход предполагает, что ваш пользователь не будет вводить только числовое значение. Другой подход заключается в добавлении префикса ко всем сгенерированным пользователем значениям (помните, что у вас есть и значение, и текстовое поле для всех параметров)
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Test of select box</title>
<script type="text/javascript">
function addOpt(e) {
var o=document.createElement("option");
//o.value= -e.options.length;
o.text = "Test " + e.options.length;
o.selected=true;
e.add(o,null);
}
</script>
</head>
<body>
<form method="post" action="mypage.html">
<input type="button" onclick="addOpt(this.form.myselect)" value="Add option"/>
<br/>
<select id="myselect" name="mydata" multiple="multiple" size="10">
<option value="0">Test 0</option>
<option value="1">Test 1</option>
<option value="2">Test 2</option>
</select>
<br/>
<input type="submit"/>
</form>
</body>
</html>