J'ai un select
Je veux marquer un champ de formulaire comme étant "en lecture seule", c'est-à-dire que l'utilisateur ne peut pas modifier la valeur, mais celle-ci est quand même soumise avec le formulaire. En utilisant l'option disabled
empêche l'utilisateur de modifier la valeur, mais ne soumet pas la valeur avec le formulaire.
Le site readonly
est uniquement disponible pour input
et textarea
mais c'est en gros ce que je veux. Y a-t-il un moyen de le faire fonctionner ?
Voici deux possibilités que j'envisage :
- Au lieu de désactiver le
select
pour désactiver tous lesoption
et utilisez le CSS pour griser la sélection afin de donner l'impression qu'elle est désactivée. - Ajoutez un gestionnaire d'événement de clic au bouton d'envoi pour qu'il active tous les menus déroulants désactivés avant d'envoyer le formulaire.
2 votes
Désolé d'intervenir tardivement, mais les solutions fournies par @
trafalmadorian
c'est ce qui marche le mieux. Il désactive toutes les entrées qui ne sont pas sélectionnées. Cela fonctionnerait également si la sélection avait plusieurs options activées.$('#toSelect')find(':not(:selected)').prop('disabled',true);
0 votes
Vous pouvez également laisser le contrôle désactivé sur l'interface utilisateur, mais récupérer la valeur dans la méthode d'action : public ActionResult InsertRecord(MyType model) { if (model.MyProperty == null) { model.MyProperty = Request["MyProperty"] ; } }. }