diff options
| author | Karen Tracey <kmtracey@gmail.com> | 2009-12-12 18:18:31 +0000 |
|---|---|---|
| committer | Karen Tracey <kmtracey@gmail.com> | 2009-12-12 18:18:31 +0000 |
| commit | 9c4bd2aa33fed8ba8ba328ae487e80135ac1498f (patch) | |
| tree | 5c8e0155f199f5651b88bb41407d618ca5a571c2 | |
| parent | ac8da7b36f353ffc225ee27b0aeb96f8912b9362 (diff) | |
Fixed #11632: Fixed the id for hidden initial widget so that it is different from the id for its visible counterpart. Thanks geber@datacollect.com and Mark Lavin.
git-svn-id: http://code.djangoproject.com/svn/django/trunk@11826 bcc190cf-cafb-0310-a4f2-bffc1f526a37
| -rw-r--r-- | AUTHORS | 2 | ||||
| -rw-r--r-- | django/forms/forms.py | 6 | ||||
| -rw-r--r-- | tests/regressiontests/forms/forms.py | 7 |
3 files changed, 14 insertions, 1 deletions
@@ -173,6 +173,7 @@ answer newbie questions, and generally made Django that much better: Alex Gaynor <alex.gaynor@gmail.com> Andy Gayton <andy-django@thecablelounge.com> Idan Gazit + geber@datacollect.com Baishampayan Ghose Dimitris Glezos <dimitris@glezos.com> glin@seznam.cz @@ -268,6 +269,7 @@ answer newbie questions, and generally made Django that much better: Finn Gruwier Larsen <finn@gruwier.dk> Lau Bech Lauritzen Rune Rønde Laursen <runerl@skjoldhoej.dk> + Mark Lavin <markdlavin@gmail.com> Eugene Lazutkin <http://lazutkin.com/blog/> lcordier@point45.com Jeong-Min Lee <falsetru@gmail.com> diff --git a/django/forms/forms.py b/django/forms/forms.py index 0b7c2e2338..705058a6e6 100644 --- a/django/forms/forms.py +++ b/django/forms/forms.py @@ -343,6 +343,7 @@ class BoundField(StrAndUnicode): self.name = name self.html_name = form.add_prefix(name) self.html_initial_name = form.add_initial_prefix(name) + self.html_initial_id = form.add_initial_prefix(self.auto_id) if self.field.label is None: self.label = pretty_name(name) else: @@ -374,7 +375,10 @@ class BoundField(StrAndUnicode): attrs = attrs or {} auto_id = self.auto_id if auto_id and 'id' not in attrs and 'id' not in widget.attrs: - attrs['id'] = auto_id + if not only_initial: + attrs['id'] = auto_id + else: + attrs['id'] = self.html_initial_id if not self.form.is_bound: data = self.form.initial.get(self.name, self.field.initial) if callable(data): diff --git a/tests/regressiontests/forms/forms.py b/tests/regressiontests/forms/forms.py index bf9623fe77..b204580131 100644 --- a/tests/regressiontests/forms/forms.py +++ b/tests/regressiontests/forms/forms.py @@ -1807,4 +1807,11 @@ True >>> [f.name for f in form.visible_fields()] ['artist', 'name'] +# Hidden initial input gets its own unique id ################################ + +>>> class MyForm(Form): +... field1 = CharField(max_length=50, show_hidden_initial=True) +>>> print MyForm() +<tr><th><label for="id_field1">Field1:</label></th><td><input id="id_field1" type="text" name="field1" maxlength="50" /><input type="hidden" name="initial-field1" id="initial-id_field1" /></td></tr> + """ |
