Это довольно распространенный способ создания формы как на бумаге, так и в Интернете.
Я не совсем уверен, что именно вы имеете в виду под лучшим способом сделать это ...
Если вас беспокоит, что скрытое поле не появляется, если у пользователя отключен JavaScript, я советую вам скрыть поле с помощью JavaScript или создать дубликат текстовой области «Если другой, пожалуйста, укажите» в блоке noscript
<select><!-- implemented something like rahul showed -->
<noscript>
<label for="ifOtherInput">If other please specify</label>
<input type="text" name="ifOtherInput" id="ifOtherInput">
</noscript>
<!-- This is initially hidden and shown by when the user selects the other option -->
<div id="divOther" class="dispnone">
<!-- Here we know the user selected other so we can just have this label: -->
<label for="ifOtherInputJs">Please specify</label>
<input type="text" name="ifOtherInputJs" id="ifOtherInputJs">
</div>
Бэкэнд должен обрабатывать то, что входные данные в блоке noscript могут отсутствовать. Или вы можете добавить версию ввода javascript на страницу ввода, используя javascript (так что оба не могут появиться одновременно, так что они могут иметь одинаковое имя.