I have done something fairly similar.
I wound up using two separate fields (rather than a single MultiValueField). The first one is based on a TextField and its formfield is based on a MultipleChoiceField. On form creation of forms that use this field, I append [("_OTHER", "---OTHER---")] to the set of choices. The second one is just a standard CharField. That field is set to be hidden.
I add a javascript handler to the first field such that whenever its value changes, if it includes "_OTHER" the second field is displayed otherwise it is hidden. Both fields are validated and saved as needed. When I am working w/ the underlying models, I know to use the second field's value iff the first field's value contains "_OTHER." If it doesn't, I just ignore it.
On Monday, January 26, 2015 at 3:29:47 PM UTC-7, Paul Royik wrote:
-- I wound up using two separate fields (rather than a single MultiValueField). The first one is based on a TextField and its formfield is based on a MultipleChoiceField. On form creation of forms that use this field, I append [("_OTHER", "---OTHER---")] to the set of choices. The second one is just a standard CharField. That field is set to be hidden.
I add a javascript handler to the first field such that whenever its value changes, if it includes "_OTHER" the second field is displayed otherwise it is hidden. Both fields are validated and saved as needed. When I am working w/ the underlying models, I know to use the second field's value iff the first field's value contains "_OTHER." If it doesn't, I just ignore it.
On Monday, January 26, 2015 at 3:29:47 PM UTC-7, Paul Royik wrote:
I need to build a form field with a special select field.Select field should have option other on which text field is shown. After entering value in textfield, it should be validated, saved and then refered to initial form.How this can be done?I'm trying to override MultiValueField and MultiWidget, but no luck.
You received this message because you are subscribed to the Google Groups "Django users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to django-users+unsubscribe@googlegroups.com.
To post to this group, send email to django-users@googlegroups.com.
Visit this group at http://groups.google.com/group/django-users.
To view this discussion on the web visit https://groups.google.com/d/msgid/django-users/3f623a68-2d2e-431a-bfa3-9d7074fd1fc9%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
No comments:
Post a Comment