<select name="period">
<option value="">Выберите срок</option>
<option value="10">10 лет</option>
<option value="15">15 лет</option>
<option value="other">Другое</option>
</select>
<script>
document.querySelector('select[name=period]').addEventListener('change', function() {
if(this.value=='other') {
let field = document.createElement("input");
field.name = this.value;
this.after(field)
} else {
let field = document.querySelector('input[name=other]');
if(field) this.parentNode.removeChild(field)
}
});</script>
Подразумевается, что созданное поле получая имя как значение опции Другое, отправит значение выбранное для опции, то есть серверу можно проверять наличие ключа other, если нет, значит получаем значение списка.