diff options
| author | Jannis Leidel <jannis@leidel.info> | 2010-01-17 22:11:00 +0000 |
|---|---|---|
| committer | Jannis Leidel <jannis@leidel.info> | 2010-01-17 22:11:00 +0000 |
| commit | 889c110e51946deb27fb41857cea0f2bbaa6a6a0 (patch) | |
| tree | e7da1a5ec02556d48a410f9390d2b7710ded609a /django/forms | |
| parent | 8eaffeac8aa02e3196a520ccf9fc5be960f9b8ef (diff) | |
[1.1.X] Fixed #11843 - Give MultipleHiddenInput different IDs. Thanks Chris Beaven.
git-svn-id: http://code.djangoproject.com/svn/django/branches/releases/1.1.X@12241 bcc190cf-cafb-0310-a4f2-bffc1f526a37
Diffstat (limited to 'django/forms')
| -rw-r--r-- | django/forms/widgets.py | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/django/forms/widgets.py b/django/forms/widgets.py index d59e6343e5..5cadc0c64a 100644 --- a/django/forms/widgets.py +++ b/django/forms/widgets.py @@ -242,9 +242,16 @@ class MultipleHiddenInput(HiddenInput): def render(self, name, value, attrs=None, choices=()): if value is None: value = [] final_attrs = self.build_attrs(attrs, type=self.input_type, name=name) - return mark_safe(u'\n'.join([(u'<input%s />' % - flatatt(dict(value=force_unicode(v), **final_attrs))) - for v in value])) + id_ = final_attrs.get('id', None) + inputs = [] + for i, v in enumerate(value): + input_attrs = dict(value=force_unicode(v), **final_attrs) + if id_: + # An ID attribute was given. Add a numeric index as a suffix + # so that the inputs don't all have the same ID attribute. + input_attrs['id'] = '%s_%s' % (id_, i) + inputs.append(u'<input%s />' % flatatt(input_attrs)) + return mark_safe(u'\n'.join(inputs)) def value_from_datadict(self, data, files, name): if isinstance(data, (MultiValueDict, MergeDict)): |
