C'est une façon assez courante de concevoir un formulaire à la fois sur papier et sur le Web. Je ne suis pas tout à fait sûr de ce que vous entendez par une meilleure façon de le faire ...
Si le champ caché n'apparaît pas si l'utilisateur a javascript désactivé, je vous suggère de masquer le champ à l'aide javascript ou un double « Si d'autres s'il vous plaît spécifier » zone de texte dans un bloc 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>
le back-end doit gérer que l'entrée dans le bloc noscript peut manquer. Ou vous pouvez ajouter la version javascript de l'entrée à la page de l'entrée en utilisant javascript (si les deux ne peuvent éventuellement apparaître simultaniously afin qu'ils puissent avoir le même nom
Je ne veux pas que l'utilisateur édite les options disponibles dans la liste déroulante. –
Ce n'est pas ce que je veux dire par «modifiable combobox». Le contrôle affiche une liste déroulante avec des options, comme une liste déroulante normale, mais dans la partie la plus haute, à côté de la 'dropdown-arrow', l'utilisateur peut remplir une valeur personnalisée. – Daan
pouvez-vous expliquer avec un exemple? –